From 4cf1411635cbd0e7f8439849e0c9e0fceba3bf67 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Fri, 26 Jul 2024 21:00:38 +0000 Subject: [PATCH] build based on 4bf7fc8 --- dev/404.html | 4 +- dev/api.html | 10 +- ...{api.md.DeaiB-DY.js => api.md.DGrKVg2x.js} | 2 +- ...aiB-DY.lean.js => api.md.DGrKVg2x.lean.js} | 2 +- .../{app.xrEa-FP9.js => app.BfsV0NNM.js} | 2 +- .../chunks/@localSearchIndexroot.BVSQWGnv.js | 1 - .../chunks/@localSearchIndexroot.BoBh5vNr.js | 1 + ...2wnApA.js => VPLocalSearchBox.0SAS8vGp.js} | 2 +- .../{theme.CqgDa6Wc.js => theme.CHeUv5W_.js} | 4 +- ...fF.js => georegions_create.md.DttYQm49.js} | 48 ++++----- ... => georegions_create.md.DttYQm49.lean.js} | 0 ...D0U.js => georegions_intro.md.CXPMdQ0A.js} | 4 +- ...s => georegions_intro.md.CXPMdQ0A.lean.js} | 2 +- ...s => georegions_predefined.md.BNMn-hkR.js} | 8 +- ...georegions_predefined.md.BNMn-hkR.lean.js} | 0 ...WMJy.js => georegions_read.md.g9W6EO8y.js} | 6 +- ...js => georegions_read.md.g9W6EO8y.lean.js} | 0 ...i5Jlb.js => landsea_create.md.CHObN1Gw.js} | 2 +- ....js => landsea_create.md.CHObN1Gw.lean.js} | 0 ...yQ9uQb.js => landsea_intro.md.AkTwbHX9.js} | 2 +- ...n.js => landsea_intro.md.AkTwbHX9.lean.js} | 0 ...NzDIc.js => landsea_smooth.md.C3Ll6ayu.js} | 10 +- ....js => landsea_smooth.md.C3Ll6ayu.lean.js} | 2 +- ...d.DuFH__au.js => lists_api.md.HGUNhvi_.js} | 6 +- ....lean.js => lists_api.md.HGUNhvi_.lean.js} | 2 +- ...O.js => regiongrids_create.md.D7LE_LNL.js} | 32 ++---- ...=> regiongrids_create.md.D7LE_LNL.lean.js} | 2 +- ...RJ.js => regiongrids_intro.md.CvXsDI9Z.js} | 4 +- ... => regiongrids_intro.md.CvXsDI9Z.lean.js} | 2 +- ...TCMo8W5.js => using_custom.md.DyjSpJrS.js} | 12 +-- ...an.js => using_custom.md.DyjSpJrS.lean.js} | 2 +- ...NSx-Bi.js => using_extract.md.B8VZ24LQ.js} | 91 ++++++++--------- dev/assets/using_extract.md.B8VZ24LQ.lean.js | 1 + dev/assets/using_extract.md.OzNSx-Bi.lean.js | 1 - ....CEjFC0Kw.js => using_isin.md.CciDktiA.js} | 6 +- ...lean.js => using_isin.md.CciDktiA.lean.js} | 0 dev/example/placeholder.html | 6 +- dev/georegions/create.html | 56 +++++------ dev/georegions/intro.html | 10 +- dev/georegions/predefined.html | 16 +-- dev/georegions/read.html | 14 +-- dev/hashmap.json | 2 +- dev/index.html | 6 +- dev/landsea/create.html | 10 +- dev/landsea/intro.html | 10 +- dev/landsea/smooth.html | 18 ++-- dev/lists/api.html | 14 +-- dev/lists/default.html | 6 +- dev/regiongrids/create.html | 38 ++------ dev/regiongrids/intro.html | 10 +- dev/using/custom.html | 20 ++-- dev/using/extract.html | 97 +++++++++---------- dev/using/isin.html | 14 +-- 53 files changed, 283 insertions(+), 337 deletions(-) rename dev/assets/{api.md.DeaiB-DY.js => api.md.DGrKVg2x.js} (94%) rename dev/assets/{api.md.DeaiB-DY.lean.js => api.md.DGrKVg2x.lean.js} (68%) rename dev/assets/{app.xrEa-FP9.js => app.BfsV0NNM.js} (95%) delete mode 100644 dev/assets/chunks/@localSearchIndexroot.BVSQWGnv.js create mode 100644 dev/assets/chunks/@localSearchIndexroot.BoBh5vNr.js rename dev/assets/chunks/{VPLocalSearchBox.Cr2wnApA.js => VPLocalSearchBox.0SAS8vGp.js} (99%) rename dev/assets/chunks/{theme.CqgDa6Wc.js => theme.CHeUv5W_.js} (99%) rename dev/assets/{georegions_create.md.DGRT2KfF.js => georegions_create.md.DttYQm49.js} (95%) rename dev/assets/{georegions_create.md.DGRT2KfF.lean.js => georegions_create.md.DttYQm49.lean.js} (100%) rename dev/assets/{georegions_intro.md.CwvHjD0U.js => georegions_intro.md.CXPMdQ0A.js} (93%) rename dev/assets/{georegions_intro.md.CwvHjD0U.lean.js => georegions_intro.md.CXPMdQ0A.lean.js} (59%) rename dev/assets/{georegions_predefined.md.DsRvT2RP.js => georegions_predefined.md.BNMn-hkR.js} (98%) rename dev/assets/{georegions_predefined.md.DsRvT2RP.lean.js => georegions_predefined.md.BNMn-hkR.lean.js} (100%) rename dev/assets/{georegions_read.md.D7dhWMJy.js => georegions_read.md.g9W6EO8y.js} (98%) rename dev/assets/{georegions_read.md.D7dhWMJy.lean.js => georegions_read.md.g9W6EO8y.lean.js} (100%) rename dev/assets/{landsea_create.md.PBdi5Jlb.js => landsea_create.md.CHObN1Gw.js} (99%) rename dev/assets/{landsea_create.md.PBdi5Jlb.lean.js => landsea_create.md.CHObN1Gw.lean.js} (100%) rename dev/assets/{landsea_intro.md.BAyQ9uQb.js => landsea_intro.md.AkTwbHX9.js} (95%) rename dev/assets/{landsea_intro.md.BAyQ9uQb.lean.js => landsea_intro.md.AkTwbHX9.lean.js} (100%) rename dev/assets/{landsea_smooth.md.pJRNzDIc.js => landsea_smooth.md.C3Ll6ayu.js} (97%) rename dev/assets/{landsea_smooth.md.pJRNzDIc.lean.js => landsea_smooth.md.C3Ll6ayu.lean.js} (85%) rename dev/assets/{lists_api.md.DuFH__au.js => lists_api.md.HGUNhvi_.js} (96%) rename dev/assets/{lists_api.md.DuFH__au.lean.js => lists_api.md.HGUNhvi_.lean.js} (69%) rename dev/assets/{regiongrids_create.md.DokQHSvO.js => regiongrids_create.md.D7LE_LNL.js} (80%) rename dev/assets/{regiongrids_create.md.DokQHSvO.lean.js => regiongrids_create.md.D7LE_LNL.lean.js} (72%) rename dev/assets/{regiongrids_intro.md.Vmx6LIRJ.js => regiongrids_intro.md.CvXsDI9Z.js} (94%) rename dev/assets/{regiongrids_intro.md.Vmx6LIRJ.lean.js => regiongrids_intro.md.CvXsDI9Z.lean.js} (70%) rename dev/assets/{using_custom.md.BTCMo8W5.js => using_custom.md.DyjSpJrS.js} (94%) rename dev/assets/{using_custom.md.BTCMo8W5.lean.js => using_custom.md.DyjSpJrS.lean.js} (85%) rename dev/assets/{using_extract.md.OzNSx-Bi.js => using_extract.md.B8VZ24LQ.js} (69%) create mode 100644 dev/assets/using_extract.md.B8VZ24LQ.lean.js delete mode 100644 dev/assets/using_extract.md.OzNSx-Bi.lean.js rename dev/assets/{using_isin.md.CEjFC0Kw.js => using_isin.md.CciDktiA.js} (98%) rename dev/assets/{using_isin.md.CEjFC0Kw.lean.js => using_isin.md.CciDktiA.lean.js} (100%) diff --git a/dev/404.html b/dev/404.html index 1664f487..f55a7a71 100644 --- a/dev/404.html +++ b/dev/404.html @@ -8,14 +8,14 @@ - +
- + \ No newline at end of file diff --git a/dev/api.html b/dev/api.html index 49c8379d..71ff8664 100644 --- a/dev/api.html +++ b/dev/api.html @@ -8,17 +8,17 @@ - + - - + + -
Skip to content

Application Programming Interface (APIs)

This page contains a brief description of the functions not covered in the tutorials. I aim to describe what the functions do, their arguments, and what is returned.

# GeoRegions.checkpointFunction.
julia
checkpoint(plon, plat, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a point with longitude and latitude coordinates plon and plat is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

  • plon::Real : Longitude of the point in question.

  • plat::Real : Latitude of the point in question.

  • rN::Real : North bound of region

  • rS::Real : South bound of region

  • rE::Real : East bound of region

  • rW::Real : West bound of region

  • tlon::Real : Threshold for longitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the longitude bounds

  • tlat::Real : Threshold for latitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the latitude bounds

  • throw::Bool : If throw=true, then if (plon,plat) is not within the region, an error is thrown and the program stops running.

source


# GeoRegions.checkgridFunction.
julia
checkgrid(gN, gS, gE, gW, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a grid with bounds [gN,gS,gE,gW] is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

  • gN::Real : North bound of grid

  • gS::Real : South bound of grid

  • gE::Real : East bound of grid

  • gW::Real : West bound of grid

  • rN::Real : North bound of region

  • rS::Real : South bound of region

  • rE::Real : East bound of region

  • rW::Real : West bound of region

  • tlon::Real : Threshold for longitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the longitude bounds

  • tlat::Real : Threshold for latitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the latitude bounds

  • throw::Bool : If throw=true, then if (plon,plat) is not within the region, an error is thrown and the program stops running.

source


- +
Skip to content

Application Programming Interface (APIs)

This page contains a brief description of the functions not covered in the tutorials. I aim to describe what the functions do, their arguments, and what is returned.

# GeoRegions.checkpointFunction.
julia
checkpoint(plon, plat, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a point with longitude and latitude coordinates plon and plat is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

  • plon::Real : Longitude of the point in question.

  • plat::Real : Latitude of the point in question.

  • rN::Real : North bound of region

  • rS::Real : South bound of region

  • rE::Real : East bound of region

  • rW::Real : West bound of region

  • tlon::Real : Threshold for longitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the longitude bounds

  • tlat::Real : Threshold for latitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the latitude bounds

  • throw::Bool : If throw=true, then if (plon,plat) is not within the region, an error is thrown and the program stops running.

source


# GeoRegions.checkgridFunction.
julia
checkgrid(gN, gS, gE, gW, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a grid with bounds [gN,gS,gE,gW] is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

  • gN::Real : North bound of grid

  • gS::Real : South bound of grid

  • gE::Real : East bound of grid

  • gW::Real : West bound of grid

  • rN::Real : North bound of region

  • rS::Real : South bound of region

  • rE::Real : East bound of region

  • rW::Real : West bound of region

  • tlon::Real : Threshold for longitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the longitude bounds

  • tlat::Real : Threshold for latitude bounds in °. If set to 0, means that there is no leniency for the point to fall outside the latitude bounds

  • throw::Bool : If throw=true, then if (plon,plat) is not within the region, an error is thrown and the program stops running.

source


+ \ No newline at end of file diff --git a/dev/assets/api.md.DeaiB-DY.js b/dev/assets/api.md.DGrKVg2x.js similarity index 94% rename from dev/assets/api.md.DeaiB-DY.js rename to dev/assets/api.md.DGrKVg2x.js index 9f45f407..5fb1bff3 100644 --- a/dev/assets/api.md.DeaiB-DY.js +++ b/dev/assets/api.md.DGrKVg2x.js @@ -1 +1 @@ -import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const f=JSON.parse('{"title":"Application Programming Interface (APIs)","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),d={name:"api.md"},n=t('

Application Programming Interface (APIs)

This page contains a brief description of the functions not covered in the tutorials. I aim to describe what the functions do, their arguments, and what is returned.

# GeoRegions.checkpointFunction.
julia
checkpoint(plon, plat, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a point with longitude and latitude coordinates plon and plat is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

source


# GeoRegions.checkgridFunction.
julia
checkgrid(gN, gS, gE, gW, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a grid with bounds [gN,gS,gE,gW] is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

source


',6),a=[n];function r(l,s,c,p,h,g){return i(),o("div",null,a)}const b=e(d,[["render",r]]);export{f as __pageData,b as default}; +import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const f=JSON.parse('{"title":"Application Programming Interface (APIs)","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),n={name:"api.md"},d=t('

Application Programming Interface (APIs)

This page contains a brief description of the functions not covered in the tutorials. I aim to describe what the functions do, their arguments, and what is returned.

# GeoRegions.checkpointFunction.
julia
checkpoint(plon, plat, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a point with longitude and latitude coordinates plon and plat is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

source


# GeoRegions.checkgridFunction.
julia
checkgrid(gN, gS, gE, gW, rN, rS, rE, rW, tlon, tlat, throw) -> Bool

Check if a grid with bounds [gN,gS,gE,gW] is found within a region defined by the bounds [rN,rS,rE,rW] format, with tlon and tlat being the threshold/margin of error for the longitude and latitude respectively.

Arguments:

source


',6),a=[d];function r(l,s,c,p,h,g){return i(),o("div",null,a)}const b=e(n,[["render",r]]);export{f as __pageData,b as default}; diff --git a/dev/assets/api.md.DeaiB-DY.lean.js b/dev/assets/api.md.DGrKVg2x.lean.js similarity index 68% rename from dev/assets/api.md.DeaiB-DY.lean.js rename to dev/assets/api.md.DGrKVg2x.lean.js index 936eab66..45202631 100644 --- a/dev/assets/api.md.DeaiB-DY.lean.js +++ b/dev/assets/api.md.DGrKVg2x.lean.js @@ -1 +1 @@ -import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const f=JSON.parse('{"title":"Application Programming Interface (APIs)","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),d={name:"api.md"},n=t("",6),a=[n];function r(l,s,c,p,h,g){return i(),o("div",null,a)}const b=e(d,[["render",r]]);export{f as __pageData,b as default}; +import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const f=JSON.parse('{"title":"Application Programming Interface (APIs)","description":"","frontmatter":{},"headers":[],"relativePath":"api.md","filePath":"api.md","lastUpdated":null}'),n={name:"api.md"},d=t("",6),a=[d];function r(l,s,c,p,h,g){return i(),o("div",null,a)}const b=e(n,[["render",r]]);export{f as __pageData,b as default}; diff --git a/dev/assets/app.xrEa-FP9.js b/dev/assets/app.BfsV0NNM.js similarity index 95% rename from dev/assets/app.xrEa-FP9.js rename to dev/assets/app.BfsV0NNM.js index c5f776f6..de3912d0 100644 --- a/dev/assets/app.xrEa-FP9.js +++ b/dev/assets/app.BfsV0NNM.js @@ -1 +1 @@ -import{U as o,a8 as p,a9 as u,aa as l,ab as c,ac as f,ad as d,ae as m,af as h,ag as g,ah as A,d as P,u as v,y,x as w,ai as C,aj as R,ak as b,a6 as E}from"./chunks/framework.D-rV3Mrg.js";import{R as S}from"./chunks/theme.CqgDa6Wc.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; +import{U as o,a8 as p,a9 as u,aa as l,ab as c,ac as f,ad as d,ae as m,af as h,ag as g,ah as A,d as P,u as v,y,x as w,ai as C,aj as R,ak as b,a6 as E}from"./chunks/framework.D-rV3Mrg.js";import{R as S}from"./chunks/theme.CHeUv5W_.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; diff --git a/dev/assets/chunks/@localSearchIndexroot.BVSQWGnv.js b/dev/assets/chunks/@localSearchIndexroot.BVSQWGnv.js deleted file mode 100644 index ccfd4342..00000000 --- a/dev/assets/chunks/@localSearchIndexroot.BVSQWGnv.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":54,"nextId":54,"documentIds":{"0":"/GeoRegions.jl/dev/api#Application-Programming-Interface-(APIs)","1":"/GeoRegions.jl/dev/example/placeholder#Examples-for-using-GeoRegions.jl","2":"/GeoRegions.jl/dev/georegions/create#Creating-GeoRegions","3":"/GeoRegions.jl/dev/georegions/create#Defining-a-new-GeoRegion","4":"/GeoRegions.jl/dev/georegions/create#Is-it-already-a-GeoRegion?","5":"/GeoRegions.jl/dev/georegions/create#Removing-an-existing-GeoRegion","6":"/GeoRegions.jl/dev/georegions/create#Reset-the-list-of-GeoRegions","7":"/GeoRegions.jl/dev/georegions/intro#What-is-a-GeoRegion?","8":"/GeoRegions.jl/dev/georegions/predefined#List-of-Available-GeoRegions","9":"/GeoRegions.jl/dev/georegions/predefined#Adapted-from-Giorgi-and-Francisco-[2000]","10":"/GeoRegions.jl/dev/georegions/predefined#SREX-Regions-adapted-from-Seneviratne-et-al.-[2012]","11":"/GeoRegions.jl/dev/georegions/predefined#AR6-Regions-adapted-from-Iturbide-et-al.,-[2020]","12":"/GeoRegions.jl/dev/georegions/read#Reading-in-Defined-GeoRegion-Information","13":"/GeoRegions.jl/dev/georegions/read#setup","14":"/GeoRegions.jl/dev/georegions/read#Retrieving-Information-about-a-Previously-Defined-GeoRegion","15":"/GeoRegions.jl/dev/georegions/read#The-Difference-between-Bounds-and-Shape-in-a-PolyRegion","16":"/GeoRegions.jl/dev/#Installation-Instructions","17":"/GeoRegions.jl/dev/#Getting-help","18":"/GeoRegions.jl/dev/landsea/create#Loading-and-Saving-Land-Sea-Mask-Datasets","19":"/GeoRegions.jl/dev/landsea/create#setup","20":"/GeoRegions.jl/dev/landsea/create#Retrieving-LandSea-Example-over-Aceh","21":"/GeoRegions.jl/dev/landsea/create#api","22":"/GeoRegions.jl/dev/landsea/intro#Land-Sea-Mask-Datasets","23":"/GeoRegions.jl/dev/landsea/intro#The-AbstractLandSea-SuperType","24":"/GeoRegions.jl/dev/landsea/intro#The-LandSea-Type-for-GeoRegions.jl","25":"/GeoRegions.jl/dev/landsea/smooth#Smoothing-of-the-Land-Sea-Mask-Dataset","26":"/GeoRegions.jl/dev/landsea/smooth#setup","27":"/GeoRegions.jl/dev/landsea/smooth#Example-comparison-between-Smooth-and-Unsmoothed-Masks","28":"/GeoRegions.jl/dev/landsea/smooth#Smoothing-Directly-from-a-loaded-Land-Sea-Mask","29":"/GeoRegions.jl/dev/landsea/smooth#api","30":"/GeoRegions.jl/dev/lists/api#Tabular-Listings-of-GeoRegions","31":"/GeoRegions.jl/dev/lists/api#More-specific-lists-of-GeoRegions","32":"/GeoRegions.jl/dev/lists/api#Listing-GeoRegions-inside-a-Custom-File","33":"/GeoRegions.jl/dev/lists/default#Default-List-of-All-Predefined-GeoRegions","34":"/GeoRegions.jl/dev/regiongrids/create#RegionGrid:-Applying-GeoRegions-to-Gridded-Data","35":"/GeoRegions.jl/dev/regiongrids/create#setup","36":"/GeoRegions.jl/dev/regiongrids/create#RectGrid-Example","37":"/GeoRegions.jl/dev/regiongrids/create#PolyGrid-Example","38":"/GeoRegions.jl/dev/regiongrids/create#The-Mask-of-a-PolyGrid","39":"/GeoRegions.jl/dev/regiongrids/create#api","40":"/GeoRegions.jl/dev/regiongrids/intro#What-is-a-RegionGrid?","41":"/GeoRegions.jl/dev/using/custom#Adding-GeoRegions-from-Templates","42":"/GeoRegions.jl/dev/using/custom#Template-GeoRegion-Files","43":"/GeoRegions.jl/dev/using/custom#Reading-in-GeoRegions-from-a-custom-file","44":"/GeoRegions.jl/dev/using/custom#Reset-the-list-of-GeoRegions","45":"/GeoRegions.jl/dev/using/extract#Extracting-Gridded-Data-using-RegionGrid","46":"/GeoRegions.jl/dev/using/extract#setup","47":"/GeoRegions.jl/dev/using/extract#Let-us-define-the-GeoRegion-of-interest","48":"/GeoRegions.jl/dev/using/extract#api","49":"/GeoRegions.jl/dev/using/isin#Is-it-in-a-GeoRegion?","50":"/GeoRegions.jl/dev/using/isin#setup","51":"/GeoRegions.jl/dev/using/isin#Is-a-Point-in-a-GeoRegion?","52":"/GeoRegions.jl/dev/using/isin#Is-a-GeoRegion-inside-a-GeoRegion?","53":"/GeoRegions.jl/dev/using/isin#api"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[5,1,99],"1":[5,1,3],"2":[2,1,23],"3":[4,2,216],"4":[6,2,110],"5":[4,2,50],"6":[5,2,19],"7":[5,1,140],"8":[4,1,62],"9":[7,4,78],"10":[9,4,91],"11":[9,4,89],"12":[5,1,14],"13":[1,5,28],"14":[7,5,95],"15":[9,5,116],"16":[2,1,69],"17":[2,1,36],"18":[7,1,121],"19":[1,7,28],"20":[5,7,80],"21":[1,7,141],"22":[4,1,37],"23":[3,4,104],"24":[6,4,23],"25":[7,1,99],"26":[1,7,28],"27":[7,7,72],"28":[8,7,102],"29":[1,7,107],"30":[4,1,95],"31":[5,4,60],"32":[6,4,54],"33":[6,1,6],"34":[6,1,31],"35":[1,6,28],"36":[2,6,72],"37":[2,6,111],"38":[5,6,149],"39":[1,6,71],"40":[5,1,126],"41":[4,1,26],"42":[3,4,75],"43":[7,4,76],"44":[5,4,100],"45":[5,1,43],"46":[1,5,28],"47":[7,5,354],"48":[1,5,106],"49":[6,1,51],"50":[1,6,28],"51":[6,6,159],"52":[5,6,142],"53":[1,6,89]},"averageFieldLength":[4.388888888888889,3.685185185185185,80.74074074074075],"storedFields":{"0":{"title":"Application Programming Interface (APIs)","titles":[]},"1":{"title":"Examples for using GeoRegions.jl","titles":[]},"2":{"title":"Creating GeoRegions","titles":[]},"3":{"title":"Defining a new GeoRegion","titles":["Creating GeoRegions"]},"4":{"title":"Is it already a GeoRegion?","titles":["Creating GeoRegions"]},"5":{"title":"Removing an existing GeoRegion","titles":["Creating GeoRegions"]},"6":{"title":"Reset the list of GeoRegions","titles":["Creating GeoRegions"]},"7":{"title":"What is a GeoRegion?","titles":[]},"8":{"title":"List of Available GeoRegions","titles":[]},"9":{"title":"Adapted from Giorgi & Francisco [2000]","titles":["List of Available GeoRegions"]},"10":{"title":"SREX Regions adapted from Seneviratne et al. [2012]","titles":["List of Available GeoRegions"]},"11":{"title":"AR6 Regions adapted from Iturbide et al., [2020]","titles":["List of Available GeoRegions"]},"12":{"title":"Reading in Defined GeoRegion Information","titles":[]},"13":{"title":"Setup","titles":["Reading in Defined GeoRegion Information"]},"14":{"title":"Retrieving Information about a Previously Defined GeoRegion","titles":["Reading in Defined GeoRegion Information"]},"15":{"title":"The Difference between Bounds and Shape in a PolyRegion","titles":["Reading in Defined GeoRegion Information"]},"16":{"title":"Installation Instructions","titles":[]},"17":{"title":"Getting help","titles":[]},"18":{"title":"Loading and Saving Land-Sea Mask Datasets","titles":[]},"19":{"title":"Setup","titles":["Loading and Saving Land-Sea Mask Datasets"]},"20":{"title":"Retrieving LandSea Example over Aceh","titles":["Loading and Saving Land-Sea Mask Datasets"]},"21":{"title":"API","titles":["Loading and Saving Land-Sea Mask Datasets"]},"22":{"title":"Land-Sea Mask Datasets","titles":[]},"23":{"title":"The AbstractLandSea SuperType","titles":["Land-Sea Mask Datasets"]},"24":{"title":"The LandSea Type for GeoRegions.jl","titles":["Land-Sea Mask Datasets"]},"25":{"title":"Smoothing of the Land-Sea Mask Dataset","titles":[]},"26":{"title":"Setup","titles":["Smoothing of the Land-Sea Mask Dataset"]},"27":{"title":"Example comparison between Smooth and Unsmoothed Masks","titles":["Smoothing of the Land-Sea Mask Dataset"]},"28":{"title":"Smoothing Directly from a loaded Land-Sea Mask","titles":["Smoothing of the Land-Sea Mask Dataset"]},"29":{"title":"API","titles":["Smoothing of the Land-Sea Mask Dataset"]},"30":{"title":"Tabular Listings of GeoRegions","titles":[]},"31":{"title":"More specific lists of GeoRegions","titles":["Tabular Listings of GeoRegions"]},"32":{"title":"Listing GeoRegions inside a Custom File","titles":["Tabular Listings of GeoRegions"]},"33":{"title":"Default List of All Predefined GeoRegions","titles":[]},"34":{"title":"RegionGrid: Applying GeoRegions to Gridded Data","titles":[]},"35":{"title":"Setup","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"36":{"title":"RectGrid Example","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"37":{"title":"PolyGrid Example","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"38":{"title":"The Mask of a PolyGrid","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"39":{"title":"API","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"40":{"title":"What is a RegionGrid?","titles":[]},"41":{"title":"Adding GeoRegions from Templates","titles":[]},"42":{"title":"Template GeoRegion Files","titles":["Adding GeoRegions from Templates"]},"43":{"title":"Reading in GeoRegions from a custom file","titles":["Adding GeoRegions from Templates"]},"44":{"title":"Reset the list of GeoRegions","titles":["Adding GeoRegions from Templates"]},"45":{"title":"Extracting Gridded Data using RegionGrid","titles":[]},"46":{"title":"Setup","titles":["Extracting Gridded Data using RegionGrid"]},"47":{"title":"Let us define the GeoRegion of interest","titles":["Extracting Gridded Data using RegionGrid"]},"48":{"title":"API","titles":["Extracting Gridded Data using RegionGrid"]},"49":{"title":"Is it in a GeoRegion?","titles":[]},"50":{"title":"Setup","titles":["Is it in a GeoRegion?"]},"51":{"title":"Is a Point in a GeoRegion?","titles":["Is it in a GeoRegion?"]},"52":{"title":"Is a GeoRegion inside a GeoRegion?","titles":["Is it in a GeoRegion?"]},"53":{"title":"API","titles":["Is it in a GeoRegion?"]}},"dirtCount":0,"index":[["∈",{"2":{"48":2}}],["⋱",{"2":{"47":2}}],["⋮",{"2":{"47":4}}],["`nan",{"2":{"37":1}}],["`removegeoregion`",{"2":{"5":2}}],["σ=10",{"2":{"27":1}}],["σ=5",{"2":{"27":1}}],["σ10",{"2":{"27":4}}],["σ05",{"2":{"27":4,"28":3}}],["σlat=10",{"2":{"27":1}}],["σlat=5",{"2":{"27":1,"28":1}}],["σlat",{"2":{"21":3,"25":1,"29":15}}],["σlon=10",{"2":{"27":1}}],["σlon=5",{"2":{"27":1,"28":1}}],["σlon",{"2":{"21":3,"25":1,"29":15}}],["z",{"2":{"20":1,"23":1}}],["+360",{"2":{"47":2}}],["+",{"2":{"43":1}}],["+0",{"2":{"20":4}}],["+2+360",{"2":{"47":1}}],["+2",{"2":{"15":2,"38":2,"47":3,"51":2}}],["ylabel=",{"2":{"20":1,"27":1,"28":1}}],["your",{"2":{"42":2,"43":1}}],["you",{"2":{"16":3,"17":2,"18":3,"21":3,"23":1,"25":2,"28":1,"34":1,"41":3,"49":1}}],["º",{"2":{"20":3,"27":4,"28":3}}],["x",{"2":{"36":1,"37":1,"38":1,"47":1}}],["xlabel=",{"2":{"20":2,"27":3,"28":2}}],["x3c",{"2":{"3":3,"7":6,"15":6,"23":2,"24":1,"29":5,"39":6,"40":6,"48":6,"53":1}}],["91",{"2":{"47":1}}],["962716",{"2":{"47":1}}],["96",{"2":{"47":1}}],["97",{"2":{"47":1}}],["973959",{"2":{"47":1}}],["92",{"2":{"47":1}}],["929826",{"2":{"47":1}}],["926813",{"2":{"47":1}}],["9",{"2":{"27":6,"28":4,"36":3,"38":1}}],["93",{"2":{"27":3,"28":2,"47":1}}],["94052",{"2":{"47":1}}],["94",{"2":{"27":1,"47":1}}],["994938",{"2":{"47":1}}],["99",{"2":{"27":4,"28":2,"47":1}}],["95",{"2":{"20":2,"27":3,"28":2,"38":1,"47":1,"52":1}}],["98",{"2":{"20":1,"47":1,"52":1}}],["904746",{"2":{"47":1}}],["903208",{"2":{"47":1}}],["90",{"2":{"7":2,"8":2,"36":2,"37":2,"38":3,"47":6,"52":6}}],["4th",{"2":{"48":2}}],["4",{"2":{"37":2,"48":2,"52":10}}],["49624",{"2":{"47":1}}],["49",{"2":{"37":1,"38":2}}],["489808",{"2":{"47":1}}],["487757",{"2":{"47":1}}],["48",{"2":{"37":1}}],["479697",{"2":{"47":1}}],["472305",{"2":{"47":1}}],["475623",{"2":{"47":1}}],["473649",{"2":{"47":1}}],["473",{"2":{"44":3}}],["47",{"2":{"37":1}}],["46582",{"2":{"47":1}}],["46344",{"2":{"47":1}}],["462755",{"2":{"47":1}}],["46",{"2":{"37":1}}],["446209",{"2":{"47":1}}],["44455",{"2":{"47":1}}],["44",{"2":{"37":1,"52":1}}],["432948",{"2":{"47":1}}],["43",{"2":{"37":1,"52":1}}],["42",{"2":{"37":1}}],["41632",{"2":{"47":1}}],["41",{"2":{"37":1}}],["45749",{"2":{"47":1}}],["45",{"2":{"11":3,"36":1,"37":1,"51":1,"52":4}}],["403538",{"2":{"47":1}}],["40309",{"2":{"47":1}}],["400734",{"2":{"47":1}}],["40056",{"2":{"47":1}}],["40",{"2":{"3":5,"36":1,"37":1,"52":2}}],["877807",{"2":{"47":1}}],["87409",{"2":{"47":1}}],["860136",{"2":{"47":1}}],["865",{"2":{"3":3}}],["89819",{"2":{"47":1}}],["837747",{"2":{"47":1}}],["83523",{"2":{"47":1}}],["83426",{"2":{"47":1}}],["834024",{"2":{"47":1}}],["843942",{"2":{"47":1}}],["849315",{"2":{"47":1}}],["84",{"2":{"37":1}}],["80",{"2":{"37":1,"38":1,"52":3}}],["821857",{"2":{"47":1}}],["82",{"2":{"37":1}}],["8",{"2":{"21":2,"29":10,"36":1,"37":2,"38":1,"47":3,"51":3,"52":1}}],["819841",{"2":{"47":1}}],["81",{"2":{"14":2}}],["85",{"2":{"10":4,"38":1,"52":1}}],["7925",{"2":{"47":1}}],["73603",{"2":{"47":1}}],["708603",{"2":{"47":1}}],["707515",{"2":{"47":1}}],["70",{"2":{"37":1,"38":1,"52":1}}],["74261",{"2":{"47":1}}],["74",{"2":{"37":1}}],["76",{"2":{"37":1}}],["761",{"2":{"10":1}}],["788204",{"2":{"47":1}}],["78",{"2":{"37":1}}],["7",{"2":{"27":4,"28":2,"36":2,"51":4}}],["77",{"2":{"14":1}}],["772",{"2":{"11":1}}],["722168",{"2":{"47":1}}],["72",{"2":{"14":2,"37":1}}],["75",{"2":{"38":1,"52":1}}],["758",{"2":{"9":1}}],["755",{"2":{"8":1}}],["≥2",{"2":{"10":1,"11":1}}],["≥1",{"2":{"9":1}}],["≧",{"2":{"10":1,"11":1}}],["union",{"2":{"39":2,"53":1}}],["units",{"2":{"21":1}}],["unsupported",{"2":{"30":1}}],["unsmoothed",{"0":{"27":1}}],["undefvarerror",{"2":{"5":2}}],["upon",{"2":{"28":1,"40":1}}],["up",{"2":{"18":2}}],["update",{"2":{"16":3}}],["us",{"0":{"47":1},"2":{"7":1,"38":1,"40":1,"47":1,"49":1,"51":2,"52":2}}],["user",{"2":{"30":2,"31":2,"32":1,"40":1}}],["usetopography",{"2":{"29":1}}],["uses",{"2":{"25":1,"40":1}}],["useful",{"2":{"25":1}}],["used",{"2":{"3":4,"4":3,"14":2,"48":2}}],["use",{"2":{"3":10,"4":7,"5":1,"7":1,"14":1,"17":1,"18":1,"23":1,"42":2,"45":1,"49":2}}],["using",{"0":{"1":1,"45":1},"1":{"46":1,"47":1,"48":1},"2":{"3":2,"4":1,"5":2,"7":1,"8":1,"9":1,"10":1,"11":1,"13":2,"15":1,"16":2,"17":1,"18":2,"19":2,"21":1,"26":2,"30":2,"32":1,"35":2,"38":1,"39":1,"42":1,"43":1,"44":1,"46":2,"48":1,"50":2,"51":1,"53":1}}],["644318",{"2":{"47":1}}],["647749",{"2":{"47":1}}],["69211",{"2":{"47":1}}],["69145",{"2":{"47":1}}],["620597",{"2":{"47":1}}],["634463",{"2":{"47":1}}],["65979",{"2":{"47":1}}],["65",{"2":{"38":1}}],["61649",{"2":{"47":1}}],["61",{"2":{"38":2}}],["612",{"2":{"3":2}}],["6×14",{"2":{"37":1}}],["60",{"2":{"21":3,"22":1,"36":1,"38":2,"52":2}}],["6",{"2":{"10":3,"14":3,"20":1,"37":3,"51":3}}],["683",{"2":{"4":2}}],["682",{"2":{"4":2}}],["669",{"2":{"4":2}}],["keyword",{"2":{"3":4,"4":1,"14":1,"18":1,"21":1,"29":5,"30":2,"31":2,"32":1,"42":1,"53":2}}],["=",{"2":{"3":10,"4":1,"13":3,"15":4,"19":3,"20":7,"21":15,"26":3,"27":8,"28":3,"29":18,"31":5,"35":3,"36":4,"37":4,"38":18,"44":1,"46":3,"47":15,"50":3,"51":8,"52":12,"53":6}}],["variety",{"2":{"31":1}}],["values",{"2":{"21":1,"37":2}}],["valid",{"2":{"3":2,"4":4,"7":1,"14":1,"40":2}}],["via",{"2":{"25":1}}],["v5",{"2":{"22":1}}],["v2",{"2":{"7":1}}],["v1",{"2":{"7":1,"16":3}}],["verify",{"2":{"52":1}}],["very",{"2":{"51":1}}],["version",{"2":{"16":3}}],["versions",{"2":{"9":1,"10":1,"11":1,"16":1}}],["verbose",{"2":{"3":6}}],["vectors",{"2":{"15":1,"47":1}}],["vector",{"2":{"3":5,"7":1,"15":11,"23":2,"39":4,"40":9}}],["hideydecorations",{"2":{"47":1}}],["higher",{"2":{"21":1,"29":5}}],["home",{"2":{"44":6}}],["homedir",{"2":{"21":1}}],["how",{"2":{"17":1,"23":1,"25":1,"40":1,"45":1}}],["however",{"2":{"3":1,"4":1,"7":1,"18":3,"25":2,"40":1,"45":1,"48":2,"51":1}}],["have",{"2":{"17":1,"18":1,"41":1,"42":1,"45":1}}],["has",{"2":{"3":3,"4":1,"8":1,"9":1,"10":1,"11":1,"14":1,"18":2,"21":1,"25":1,"36":1,"37":1,"38":1,"43":1,"47":2,"51":1}}],["heights",{"2":{"22":1}}],["height",{"2":{"20":1,"23":1,"29":1}}],["height=225",{"2":{"27":3}}],["height=350",{"2":{"20":2,"28":2,"47":2}}],["height=750",{"2":{"15":1,"38":1,"51":1,"52":1}}],["here",{"2":{"20":1,"28":1,"37":2,"42":1,"51":1}}],["helping",{"2":{"40":1}}],["help",{"0":{"17":1}}],["https",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["quot",{"2":{"3":4,"53":8}}],["questions",{"2":{"17":2}}],["question",{"2":{"0":2}}],["34",{"2":{"51":3}}],["340",{"2":{"51":2}}],["34797",{"2":{"47":1}}],["3rd",{"2":{"48":2}}],["366396",{"2":{"47":1}}],["360º",{"2":{"51":1}}],["360×181",{"2":{"47":1}}],["360",{"2":{"7":1,"8":1,"43":1,"47":1,"51":1,"52":2}}],["382545",{"2":{"47":1}}],["3869",{"2":{"47":1}}],["383",{"2":{"44":2}}],["330",{"2":{"52":2}}],["330501",{"2":{"47":1}}],["33×18",{"2":{"47":1}}],["33243",{"2":{"47":1}}],["335841",{"2":{"47":1}}],["33",{"2":{"47":5}}],["355",{"2":{"52":1}}],["35",{"2":{"36":1,"52":1}}],["325",{"2":{"52":2}}],["32566",{"2":{"47":1}}],["32",{"2":{"47":1,"52":1}}],["320",{"2":{"36":1,"52":1}}],["324565",{"2":{"47":1}}],["324",{"2":{"3":2}}],["31",{"2":{"47":1}}],["313234",{"2":{"47":1}}],["315",{"2":{"36":1}}],["31054",{"2":{"47":1}}],["310",{"2":{"36":1}}],["376969",{"2":{"47":1}}],["378",{"2":{"44":2}}],["37",{"2":{"11":2}}],["3",{"2":{"9":1,"10":1,"11":1,"20":1,"27":1,"47":1,"48":2,"52":9}}],["39905",{"2":{"47":1}}],["39",{"2":{"5":1,"16":1,"18":1,"37":2,"41":1}}],["302458",{"2":{"47":1}}],["305",{"2":{"36":1}}],["300",{"2":{"36":1,"52":2}}],["30",{"2":{"3":10,"21":1,"22":1,"36":1,"38":1,"43":2,"47":1,"51":1,"52":5}}],["594",{"2":{"47":1}}],["590532",{"2":{"47":1}}],["59718",{"2":{"47":1}}],["59",{"2":{"38":1}}],["56",{"2":{"38":2}}],["562",{"2":{"3":2,"4":1}}],["57",{"2":{"38":3}}],["544966",{"2":{"47":1}}],["544644",{"2":{"47":1}}],["545804",{"2":{"47":1}}],["54",{"2":{"37":1,"38":2}}],["533805",{"2":{"47":1}}],["53",{"2":{"37":1,"38":2}}],["558482",{"2":{"47":1}}],["556168",{"2":{"47":1}}],["55",{"2":{"36":1,"37":2,"38":3,"52":1}}],["585108",{"2":{"47":1}}],["58",{"2":{"14":1,"38":1}}],["5",{"2":{"11":4,"14":1,"36":2,"38":1,"47":3,"51":5,"52":4}}],["527095",{"2":{"47":1}}],["52",{"2":{"3":1,"4":6,"8":1,"9":1,"10":1,"11":1,"14":1,"37":3,"38":2}}],["51",{"2":{"3":9,"37":2,"38":2}}],["50",{"2":{"3":11,"10":4,"14":4,"21":1,"29":5,"36":1,"37":3,"38":3,"51":3,"52":2}}],["~",{"2":{"3":2,"4":1,"30":1,"44":3}}],["└",{"2":{"3":2,"4":1,"44":3}}],["17",{"2":{"47":1}}],["173988",{"2":{"47":1}}],["17566",{"2":{"47":1}}],["182906",{"2":{"47":1}}],["18578",{"2":{"47":1}}],["18",{"2":{"38":1,"47":2}}],["180",{"2":{"7":1,"36":2,"37":2,"38":2,"51":2,"52":2}}],["16",{"2":{"38":1,"47":3}}],["168",{"2":{"14":3}}],["142396",{"2":{"47":1}}],["148756",{"2":{"47":1}}],["147257",{"2":{"47":1}}],["141889",{"2":{"47":1}}],["14",{"2":{"36":1,"37":2,"38":1}}],["143",{"2":{"14":1}}],["119",{"2":{"47":2}}],["118",{"2":{"47":2}}],["118674",{"2":{"47":1}}],["116",{"2":{"47":2}}],["115",{"2":{"47":2,"52":1}}],["114",{"2":{"47":2}}],["113",{"2":{"47":2}}],["112",{"2":{"47":1}}],["111",{"2":{"47":1}}],["110",{"2":{"47":1,"52":4}}],["11",{"2":{"36":1}}],["1173",{"2":{"47":1}}],["117",{"2":{"11":1,"47":2}}],["1s",{"2":{"25":1,"40":2}}],["1st",{"2":{"3":1,"48":2}}],["123212",{"2":{"47":1}}],["123",{"2":{"47":1}}],["121",{"2":{"47":2}}],["120",{"2":{"47":2,"52":3}}],["124",{"2":{"47":2}}],["12475",{"2":{"47":1}}],["12257",{"2":{"47":1}}],["122",{"2":{"47":4}}],["12",{"2":{"36":1,"37":2,"38":2,"52":1}}],["125",{"2":{"14":1}}],["129",{"2":{"14":1}}],["12871",{"2":{"47":1}}],["128",{"2":{"3":1}}],["19293",{"2":{"47":1}}],["19",{"2":{"11":4,"47":1}}],["15544",{"2":{"47":1}}],["15137",{"2":{"47":1}}],["1500",{"2":{"20":1}}],["152018",{"2":{"47":1}}],["152548",{"2":{"47":1}}],["152",{"2":{"11":2}}],["15",{"2":{"9":1,"21":1,"36":2,"51":1,"52":3}}],["157",{"2":{"3":1}}],["1",{"2":{"3":1,"9":3,"13":1,"15":2,"18":2,"19":1,"20":11,"21":2,"23":2,"25":1,"26":1,"27":13,"28":9,"29":11,"35":1,"36":2,"37":61,"38":4,"46":1,"47":43,"50":1,"51":2,"52":7}}],["13585",{"2":{"47":1}}],["13",{"2":{"36":1}}],["130",{"2":{"14":1}}],["132",{"2":{"11":2}}],["137",{"2":{"3":3}}],["131",{"2":{"3":1}}],["109",{"2":{"47":1}}],["107",{"2":{"47":2}}],["106876",{"2":{"47":1}}],["104",{"2":{"47":1}}],["108",{"2":{"11":1,"38":1,"47":1}}],["100",{"2":{"11":4,"21":2,"29":10,"38":1,"52":3,"53":1}}],["105",{"2":{"10":3,"14":4,"47":1,"52":1}}],["10",{"2":{"3":6,"16":3,"36":1,"37":2,"38":1,"51":4,"52":6}}],["┌",{"2":{"3":2,"4":1,"44":3}}],["2nd",{"2":{"48":2}}],["2+360",{"2":{"47":1}}],["270",{"2":{"47":1}}],["271",{"2":{"47":2}}],["27",{"2":{"36":1,"47":1}}],["26048",{"2":{"47":1}}],["269",{"2":{"47":1}}],["268",{"2":{"47":1}}],["267",{"2":{"47":1}}],["266",{"2":{"47":1}}],["265989",{"2":{"47":1}}],["265",{"2":{"47":1}}],["264",{"2":{"47":1}}],["263",{"2":{"47":1}}],["263514",{"2":{"47":1}}],["262",{"2":{"47":1}}],["26",{"2":{"36":1,"38":1,"47":1}}],["26t20",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1,"44":4}}],["248",{"2":{"47":1}}],["247",{"2":{"47":1}}],["246",{"2":{"47":1}}],["245",{"2":{"47":1}}],["244",{"2":{"47":1}}],["242",{"2":{"47":1}}],["241",{"2":{"47":1}}],["240",{"2":{"47":1}}],["24",{"2":{"36":1,"38":1,"47":1}}],["24367",{"2":{"47":1}}],["243",{"2":{"30":1,"47":1}}],["239",{"2":{"47":2}}],["23673",{"2":{"47":1}}],["23",{"2":{"36":1,"47":1}}],["224235",{"2":{"47":1}}],["22",{"2":{"36":1,"38":1,"47":1}}],["214021",{"2":{"47":1}}],["21",{"2":{"36":2,"47":1}}],["29389",{"2":{"47":1}}],["29981",{"2":{"47":1}}],["295",{"2":{"36":1}}],["290",{"2":{"36":1}}],["29",{"2":{"36":2,"47":1}}],["28948",{"2":{"47":1}}],["289648",{"2":{"47":1}}],["281",{"2":{"47":1}}],["286453",{"2":{"47":1}}],["284671",{"2":{"47":1}}],["280",{"2":{"36":1}}],["28",{"2":{"10":3,"36":1,"38":1,"47":1}}],["285",{"2":{"3":1,"36":1}}],["253526",{"2":{"47":1}}],["25",{"2":{"9":1,"11":1,"36":2,"47":3,"52":1}}],["2",{"2":{"3":1,"10":2,"11":2,"13":1,"14":1,"15":2,"18":2,"19":1,"20":1,"26":1,"27":2,"28":1,"29":5,"35":1,"37":4,"38":3,"39":2,"46":1,"47":16,"48":2,"50":1,"51":3,"52":10}}],["209601",{"2":{"47":1}}],["20976",{"2":{"47":1}}],["20175",{"2":{"47":1}}],["201542",{"2":{"47":1}}],["2012",{"0":{"10":1},"2":{"10":1,"44":1}}],["2022",{"2":{"21":1,"24":1}}],["2020",{"0":{"11":1},"2":{"11":1,"44":1}}],["2024",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1,"44":4}}],["2000",{"0":{"9":1},"2":{"9":1,"44":1}}],["20",{"2":{"3":9,"9":2,"36":1,"38":1,"47":1,"51":3,"52":9}}],["joinpath",{"2":{"3":1}}],["juliain",{"2":{"53":3}}],["juliaisingeoregion",{"2":{"51":1}}],["juliaisgeoregion",{"2":{"4":1}}],["juliaextractgrid",{"2":{"48":2}}],["juliandata",{"2":{"47":1}}],["julialon",{"2":{"47":1}}],["juliaa",{"2":{"51":1}}],["juliaaddgeoregions",{"2":{"43":2}}],["juliaabstractlandsea",{"2":{"23":1}}],["juliatemplategeoregions",{"2":{"42":1}}],["juliatemplategeoregion",{"2":{"42":1}}],["juliatablepolyregions",{"2":{"31":1}}],["juliatablerectregions",{"2":{"31":1}}],["juliatablegeoregions",{"2":{"30":1,"32":1}}],["juliaresetgeoregions",{"2":{"44":2}}],["juliaregiongrid",{"2":{"39":2,"40":1}}],["juliarectregion",{"2":{"3":1}}],["juliaggrd",{"2":{"37":1,"47":1}}],["juliageo",{"2":{"36":1,"37":1,"38":1,"47":1}}],["juliageoregion",{"2":{"7":1,"14":2,"24":1}}],["juliagetlandsea",{"2":{"21":1}}],["juliasmoothlsm",{"2":{"29":1}}],["juliasmooth",{"2":{"29":4}}],["juliacoordgeoregion",{"2":{"15":2}}],["juliacheckgrid",{"2":{"0":1}}],["juliacheckpoint",{"2":{"0":1}}],["juliausing",{"2":{"13":1,"19":1,"26":1,"33":1,"35":1,"41":1,"46":1,"50":1}}],["julia",{"2":{"7":1,"16":5,"44":3,"51":1,"52":1}}],["juliapolyregion",{"2":{"3":1}}],["julia>",{"2":{"3":3,"4":3,"5":2,"8":1,"9":1,"10":1,"11":1,"30":2}}],["juliajulia>",{"2":{"3":2,"4":1,"5":2,"8":1,"9":1,"10":1,"11":1,"16":1,"30":1}}],["jl",{"0":{"1":1,"24":1},"2":{"3":21,"4":9,"5":1,"7":3,"8":2,"9":1,"10":1,"11":1,"16":1,"17":1,"21":1,"22":1,"23":2,"25":2,"30":3,"39":1,"44":20,"48":1,"49":4,"51":2,"53":1}}],["ggrd",{"2":{"36":1,"37":1,"38":6,"47":3,"48":4}}],["gausssian",{"2":{"21":1,"29":5}}],["gaussian",{"2":{"21":1,"25":1,"29":5}}],["green",{"2":{"52":4}}],["greatly",{"2":{"18":1}}],["grid=false",{"2":{"47":1}}],["gridpoint",{"2":{"40":1}}],["grids",{"2":{"39":2}}],["gridded",{"0":{"34":1,"45":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1,"46":1,"47":1,"48":1},"2":{"37":1,"39":1,"40":6,"48":2}}],["grid",{"2":{"0":5,"7":1,"25":1,"28":1,"36":3,"37":3,"38":9,"40":2,"47":3}}],["gf",{"2":{"9":6,"36":1}}],["gives",{"2":{"40":3}}],["given",{"2":{"7":1,"9":1,"10":1,"11":1,"15":2,"29":3,"40":2,"51":1}}],["github",{"2":{"16":1}}],["githubusercontent",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["giorgi",{"0":{"9":1},"2":{"9":1,"31":3,"44":1}}],["gt",{"2":{"7":1,"9":1,"29":1}}],["global",{"2":{"5":2,"7":2,"8":1,"18":2,"28":1,"45":1,"47":1}}],["globe",{"2":{"3":4,"8":1,"30":1}}],["glb",{"2":{"3":11,"5":2,"7":2,"8":6,"9":1,"10":1,"11":1,"14":1,"20":1,"21":1,"27":1,"30":4,"43":1,"47":1,"51":1,"52":5}}],["got",{"2":{"30":1}}],["go",{"2":{"2":1,"12":1,"34":1,"40":1}}],["gw",{"2":{"0":3}}],["generated",{"2":{"34":1,"39":1,"44":1,"48":1,"53":1}}],["generally",{"2":{"7":1,"16":1,"21":1,"29":5}}],["getlandsea",{"2":{"18":1,"20":1,"21":1,"27":3}}],["getting",{"0":{"17":1}}],["get",{"2":{"16":1,"17":1,"25":1}}],["geometrybasics",{"2":{"49":1}}],["geo",{"2":{"14":2,"15":4,"20":2,"21":2,"27":3,"36":1,"37":1,"38":2,"39":4,"47":2,"51":5,"52":17,"53":6}}],["geoplottingdata",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["geographical",{"2":{"7":2,"40":1,"53":1}}],["geographic",{"2":{"7":1,"49":1,"52":1}}],["geoid",{"2":{"4":4,"14":3,"21":4,"22":1,"43":1}}],["georegion",{"0":{"3":1,"4":1,"5":1,"7":1,"12":1,"14":1,"42":1,"47":1,"49":1,"51":1,"52":2},"1":{"13":1,"14":1,"15":1,"50":1,"51":1,"52":1,"53":1},"2":{"2":1,"3":28,"4":9,"5":3,"7":17,"8":3,"9":2,"10":2,"11":2,"12":1,"14":9,"15":8,"18":1,"21":4,"23":3,"24":1,"25":2,"36":1,"37":4,"38":1,"39":4,"40":5,"43":5,"44":1,"45":1,"47":2,"48":4,"51":7,"52":5,"53":13}}],["georegions",{"0":{"1":1,"2":1,"6":1,"8":1,"24":1,"30":1,"31":1,"32":1,"33":1,"34":1,"41":1,"43":1,"44":1},"1":{"3":1,"4":1,"5":1,"6":1,"9":1,"10":1,"11":1,"31":1,"32":1,"35":1,"36":1,"37":1,"38":1,"39":1,"42":1,"43":1,"44":1},"2":{"0":2,"3":29,"4":12,"5":3,"6":2,"7":9,"8":4,"9":5,"10":5,"11":5,"13":1,"14":1,"15":2,"16":5,"17":1,"18":1,"19":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"29":2,"30":12,"31":9,"32":6,"33":1,"35":1,"39":2,"40":1,"41":1,"42":2,"43":3,"44":34,"46":1,"48":2,"49":2,"50":1,"51":2,"52":2}}],["ge",{"2":{"0":3}}],["gs",{"2":{"0":3}}],["gn",{"2":{"0":3}}],["our",{"2":{"47":1}}],["output",{"2":{"39":2}}],["out",{"2":{"17":1,"18":1,"38":2}}],["outside",{"2":{"0":4,"23":2}}],["odata",{"2":{"47":3,"48":6}}],["otlat",{"2":{"38":4}}],["otlon",{"2":{"38":4}}],["other",{"2":{"23":1,"28":1,"52":2}}],["otherwise",{"2":{"21":1,"37":1}}],["old",{"2":{"29":1,"47":1}}],["olsm",{"2":{"29":1}}],["obvious",{"2":{"51":1}}],["object",{"2":{"24":1}}],["obtained",{"2":{"18":1}}],["ocean",{"2":{"21":1,"23":1,"25":1,"51":2}}],["overwriting",{"2":{"44":3}}],["overwrite",{"2":{"42":3}}],["over",{"0":{"20":1},"2":{"21":1,"38":1}}],["own",{"2":{"18":1,"23":1}}],["option",{"2":{"18":4}}],["options",{"2":{"18":2,"22":1}}],["opendap",{"2":{"18":3,"21":1}}],["open",{"2":{"17":1}}],["on",{"2":{"18":1,"24":1,"29":6,"38":1,"39":2,"40":1,"47":1,"48":2,"52":1}}],["onlycustom",{"2":{"30":3,"32":2}}],["onlycustom=true",{"2":{"30":1}}],["only",{"2":{"7":1,"9":1,"10":1,"11":1,"25":1,"30":1,"32":1,"40":1,"44":1,"45":1,"48":2}}],["ones",{"2":{"38":1}}],["one",{"2":{"6":2,"40":1,"41":2,"42":1,"44":3}}],["once",{"2":{"2":1,"18":2}}],["original",{"2":{"40":1,"44":3}}],["oro",{"2":{"29":4}}],["orographic",{"2":{"20":1,"22":1,"23":1}}],["order",{"2":{"14":1,"48":2}}],["or",{"2":{"3":2,"4":2,"7":1,"16":1,"17":1,"21":1,"23":1,"39":5,"49":1,"53":6}}],["off",{"2":{"29":2}}],["often",{"2":{"25":1,"49":1}}],["of",{"0":{"6":1,"8":1,"25":1,"30":1,"31":1,"33":1,"38":1,"44":1,"47":1},"1":{"9":1,"10":1,"11":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1},"2":{"0":17,"2":1,"3":8,"4":2,"5":1,"6":1,"7":14,"8":1,"10":1,"12":1,"14":2,"15":11,"16":2,"18":2,"21":8,"22":1,"23":6,"25":4,"28":1,"29":16,"30":1,"31":2,"34":1,"37":1,"38":4,"39":5,"40":15,"41":1,"42":2,"43":3,"44":3,"48":11,"51":7,"53":3}}],["00818",{"2":{"47":1}}],["00370645",{"2":{"47":1}}],["08159",{"2":{"47":1}}],["01279",{"2":{"47":1}}],["0128698",{"2":{"47":1}}],["01042",{"2":{"47":1}}],["0107742",{"2":{"47":1}}],["0948295",{"2":{"47":1}}],["0970607",{"2":{"47":1}}],["06695",{"2":{"47":1}}],["0693771",{"2":{"47":1}}],["06",{"2":{"44":4}}],["04",{"2":{"44":4}}],["044",{"2":{"3":1}}],["0s",{"2":{"25":1,"40":1}}],["05144",{"2":{"47":1}}],["0545932",{"2":{"47":1}}],["0551585",{"2":{"47":1}}],["05",{"2":{"20":1,"27":3,"28":2}}],["0372503",{"2":{"47":1}}],["03145",{"2":{"47":1}}],["03899",{"2":{"47":1}}],["03",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1}}],["0704456",{"2":{"47":1}}],["070642",{"2":{"47":1}}],["07067",{"2":{"47":1}}],["07",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1,"44":4}}],["0",{"2":{"0":4,"3":18,"7":2,"8":5,"9":4,"10":11,"11":16,"14":18,"20":7,"21":2,"23":2,"25":1,"27":6,"28":4,"29":13,"37":79,"38":21,"43":5,"47":136,"51":21,"52":7,"53":2}}],["scatter",{"2":{"38":2,"51":2}}],["ssa",{"2":{"36":1}}],["space",{"2":{"48":1}}],["spot",{"2":{"34":1}}],["specifications",{"2":{"31":1}}],["specific",{"0":{"31":1},"2":{"45":1}}],["specified",{"2":{"7":2}}],["speeds",{"2":{"18":1}}],["smoothlsm",{"2":{"29":1}}],["smooth=true",{"2":{"27":2}}],["smoothed",{"2":{"25":1,"27":2,"28":2,"29":5}}],["smooth",{"0":{"27":1},"2":{"21":6,"29":11}}],["smoothing",{"0":{"25":1,"28":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"18":1,"21":2,"25":6,"28":4,"29":17}}],["smaller",{"2":{"18":1,"52":1}}],["side",{"2":{"53":1}}],["significant",{"2":{"48":2}}],["size",{"2":{"36":1,"37":1,"38":2,"47":1}}],["similarly",{"2":{"32":1}}],["simple",{"2":{"15":1,"45":1}}],["simply",{"2":{"7":1,"21":1,"42":1,"51":1}}],["since",{"2":{"16":1,"52":1}}],["slat",{"2":{"15":8,"20":9,"38":6,"47":9,"51":6,"52":10}}],["slon",{"2":{"15":8,"20":9,"38":6,"47":11,"51":6,"52":10}}],["system",{"2":{"15":1}}],["srx",{"2":{"10":6}}],["srex",{"0":{"10":1},"2":{"31":3}}],["src",{"2":{"3":2,"4":1,"30":1,"44":6}}],["suitable",{"2":{"39":2}}],["sum",{"2":{"37":1,"38":1,"47":1}}],["suppose",{"2":{"45":1}}],["supports",{"2":{"22":1}}],["supertype",{"0":{"23":1},"2":{"7":1,"23":3,"40":1}}],["surface",{"2":{"21":1,"22":2,"25":1}}],["such",{"2":{"18":1,"21":1,"39":2,"40":1,"51":1}}],["suggestions",{"2":{"17":1}}],["sub",{"2":{"48":2}}],["subregion",{"2":{"7":1}}],["subtypes",{"2":{"7":1,"23":2,"40":1}}],["subset",{"2":{"3":2,"7":1,"23":1,"53":2}}],["shifted",{"2":{"51":1}}],["show",{"2":{"30":1,"32":1}}],["should",{"2":{"6":1,"7":1,"44":1}}],["shape",{"0":{"15":1},"2":{"3":2,"7":6,"10":2,"11":2,"14":2,"15":11,"37":1,"38":1,"40":1,"47":2,"51":2}}],["say",{"2":{"45":1}}],["satellite",{"2":{"39":1}}],["sas",{"2":{"38":1}}],["saving",{"0":{"18":1},"1":{"19":1,"20":1,"21":1},"2":{"18":1}}],["saved",{"2":{"21":1,"29":4}}],["savegeo=false",{"2":{"20":1,"27":1}}],["savelsd=false",{"2":{"20":1,"27":3}}],["savelsd",{"2":{"18":1,"21":4}}],["save",{"2":{"3":6,"21":2,"48":1}}],["same",{"2":{"3":1,"40":1,"42":1}}],["sample",{"2":{"3":1,"47":1}}],["s",{"2":{"3":3,"5":1,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"15":2,"40":1,"43":1,"47":1,"51":1}}],["step",{"2":{"47":1}}],["steps",{"2":{"2":1,"34":1}}],["structure",{"2":{"40":3}}],["struct",{"2":{"23":1}}],["string",{"2":{"3":2,"7":3}}],["starting",{"2":{"22":1}}],["start",{"2":{"3":1}}],["st",{"2":{"3":4,"7":2}}],["stops",{"2":{"0":2,"53":2}}],["semi",{"2":{"21":1,"29":5}}],["separation",{"2":{"21":1}}],["seconds",{"2":{"21":1}}],["section",{"2":{"2":1,"12":1,"34":1}}],["servers",{"2":{"18":1,"21":1}}],["seneviratne",{"0":{"10":1},"2":{"10":1,"44":1}}],["sea",{"0":{"18":1,"22":1,"25":1,"28":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1},"2":{"4":3,"18":2,"20":1,"21":1,"23":3,"24":1,"25":5,"27":1,"28":2,"29":15}}],["see",{"2":{"3":3,"4":3,"6":1,"15":1,"18":2,"28":1,"34":1,"37":1,"51":3,"52":2}}],["sets",{"2":{"18":1}}],["setup",{"0":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1},"2":{"41":1}}],["set",{"2":{"0":4,"3":1,"29":3,"30":1,"32":1,"42":1}}],["some",{"2":{"47":1}}],["sometimes",{"2":{"4":1}}],["sort",{"2":{"25":1}}],["so",{"2":{"2":1,"21":1,"23":1,"37":1,"40":1,"41":1}}],["soon",{"2":{"1":1,"16":1}}],["source",{"2":{"0":2,"3":2,"4":1,"7":1,"14":1,"15":2,"21":1,"23":1,"24":1,"29":5,"30":1,"31":2,"32":1,"39":2,"40":1,"42":1,"43":1,"44":1,"48":2,"53":3}}],["southernmost",{"2":{"15":1}}],["south",{"2":{"0":3,"7":1,"38":1}}],["°",{"2":{"0":4}}],["eye",{"2":{"51":1,"52":1}}],["equatorial",{"2":{"51":2}}],["equal",{"2":{"3":1}}],["eao",{"2":{"51":4}}],["each",{"2":{"28":1}}],["easy",{"2":{"49":1,"51":1}}],["easily",{"2":{"49":1}}],["easier",{"2":{"18":1}}],["eas",{"2":{"11":4}}],["ease",{"2":{"3":2}}],["easternmost",{"2":{"15":1}}],["east",{"2":{"0":3,"7":1,"11":1}}],["edges",{"2":{"28":1}}],["era5",{"2":{"29":1}}],["era5reanalysis",{"2":{"23":1}}],["errors",{"2":{"28":1}}],["error",{"2":{"0":4,"3":4,"4":5,"5":2,"14":2,"30":1,"43":1,"53":2}}],["elaborated",{"2":{"40":1}}],["elevation",{"2":{"22":1}}],["elements",{"2":{"3":1}}],["ellipsoid",{"2":{"22":1}}],["every",{"2":{"21":2,"29":10}}],["even",{"2":{"10":1}}],["etopo",{"2":{"21":4,"22":1,"24":1,"25":1}}],["etc",{"2":{"17":1}}],["et",{"0":{"10":1,"11":1},"2":{"10":1,"11":1,"44":2}}],["either",{"2":{"7":1}}],["essd",{"2":{"44":1}}],["essence",{"2":{"7":1}}],["est",{"2":{"7":1}}],["ensure",{"2":{"48":2}}],["enter",{"2":{"41":1}}],["entire",{"2":{"18":1}}],["entirely",{"2":{"6":1,"44":1}}],["enough",{"2":{"21":1,"29":5}}],["end",{"2":{"3":1,"18":1,"36":1,"37":1,"38":1}}],["except",{"2":{"40":1}}],["expressed",{"2":{"25":1}}],["export",{"2":{"23":1}}],["extension",{"2":{"52":1}}],["extend",{"2":{"23":2}}],["extendhigh=",{"2":{"20":2,"27":3,"28":2,"47":2}}],["extendlow=",{"2":{"20":2,"27":3,"28":2,"47":2}}],["extra",{"2":{"44":3}}],["extractgrid",{"2":{"45":1,"47":1,"48":2}}],["extracting",{"0":{"45":1},"1":{"46":1,"47":1,"48":1},"2":{"12":1,"40":1,"48":2}}],["extract",{"2":{"7":1,"14":1,"15":2,"18":2,"40":1,"45":1,"47":1,"48":2}}],["extracts",{"2":{"4":1,"14":1,"43":1,"48":2}}],["extracted",{"2":{"3":2,"48":1}}],["exist",{"2":{"42":1}}],["existing",{"0":{"5":1},"2":{"5":1}}],["exists",{"2":{"3":1,"4":2,"14":1,"43":1}}],["exampleremovegeoregion",{"2":{"53":1}}],["exampleresetgeoregions",{"2":{"44":1}}],["examplemask",{"2":{"38":1}}],["examplef2",{"2":{"28":1}}],["examplefig",{"2":{"20":1,"27":1,"47":1}}],["examplegeo",{"2":{"20":1,"27":1,"52":1}}],["exampleaspect",{"2":{"15":1}}],["exampleblon",{"2":{"15":1}}],["example",{"0":{"20":1,"27":1,"36":1,"37":1},"2":{"3":1,"37":1,"38":1,"51":2}}],["examplesmooth",{"2":{"28":1}}],["examples",{"0":{"1":1},"2":{"23":2}}],["e",{"2":{"3":4,"4":1,"7":3,"8":1,"9":1,"10":1,"11":1,"14":2,"15":4,"21":1,"40":1,"42":1,"43":1,"47":1,"51":1}}],["much",{"2":{"18":2}}],["must",{"2":{"3":3,"7":1,"42":2}}],["minimize",{"2":{"48":1}}],["minimum",{"2":{"15":4,"20":6,"38":4,"47":6,"51":4}}],["missing",{"2":{"5":2}}],["modification",{"2":{"48":1}}],["more",{"0":{"31":1},"2":{"6":1,"18":1,"39":1}}],["monitoring",{"2":{"3":2}}],["markersize=20",{"2":{"51":2}}],["margin",{"2":{"0":2}}],["map",{"2":{"52":1}}],["mapping",{"2":{"40":3}}],["maps",{"2":{"40":1}}],["matrix",{"2":{"37":1,"47":2}}],["matching",{"2":{"30":1}}],["may",{"2":{"16":1,"23":1,"25":1}}],["make",{"2":{"16":1}}],["manager",{"2":{"16":1}}],["many",{"2":{"10":1}}],["maximum",{"2":{"15":4,"20":6,"38":4,"47":6,"51":4}}],["masks",{"0":{"27":1}}],["mask",{"0":{"18":1,"22":1,"25":1,"28":1,"38":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1},"2":{"7":1,"18":1,"20":1,"21":1,"23":3,"24":1,"25":3,"27":1,"28":1,"29":15,"37":4,"38":10,"40":3,"47":2}}],["master",{"2":{"3":2}}],["main",{"2":{"7":1,"13":1,"16":2,"19":1,"26":1,"35":1,"46":1,"50":1}}],["memory",{"2":{"48":1}}],["meant",{"2":{"48":1}}],["meaning",{"2":{"28":1}}],["means",{"2":{"0":4,"25":1}}],["me",{"2":{"16":1,"17":1}}],["meters",{"2":{"23":1}}],["meta",{"2":{"3":2}}],["methoderror",{"2":{"30":1}}],["method",{"2":{"3":2,"14":1,"15":2,"30":2,"32":1,"39":4,"53":3}}],["mdash",{"2":{"0":2,"3":2,"4":1,"7":1,"14":1,"15":2,"21":1,"23":1,"24":1,"29":2,"30":1,"31":2,"32":1,"39":2,"40":1,"42":1,"43":1,"44":1,"48":2,"53":3}}],["fname",{"2":{"32":1,"43":2}}],["f2",{"2":{"28":4}}],["faster",{"2":{"18":1}}],["false",{"2":{"3":2,"4":2,"8":1,"9":1,"10":1,"11":1,"14":1,"18":1,"21":6,"23":1,"29":1,"30":1,"31":6,"32":1,"43":1,"44":2,"47":2,"51":2,"52":2,"53":3}}],["fall",{"2":{"0":4}}],["fear",{"2":{"42":1}}],["features",{"2":{"16":1}}],["feel",{"2":{"17":2}}],["frame",{"2":{"51":1}}],["francisco",{"0":{"9":1},"2":{"9":1,"44":1}}],["free",{"2":{"17":2}}],["from",{"0":{"9":1,"10":1,"11":1,"28":1,"41":1,"43":1},"1":{"42":1,"43":1,"44":1},"2":{"3":2,"7":1,"9":1,"10":1,"11":1,"15":1,"18":5,"21":1,"22":1,"25":3,"28":1,"38":1,"39":2,"40":1,"43":1,"48":4,"49":1}}],["floats",{"2":{"40":2}}],["float32",{"2":{"21":1}}],["float",{"2":{"7":4}}],["float64",{"2":{"3":3,"10":1,"11":1,"14":1,"37":1,"47":3,"51":1}}],["fully",{"2":{"22":1}}],["full",{"2":{"7":1}}],["functionality",{"2":{"23":1}}],["function",{"2":{"0":2,"4":2,"5":1,"14":1,"15":1,"18":2,"21":1,"29":2,"30":1,"31":3,"32":1,"42":1,"43":2,"44":1,"45":1,"48":2,"49":1,"51":1}}],["functions",{"2":{"0":2,"3":1}}],["ft",{"2":{"3":4,"7":2,"21":1,"40":3}}],["filtering",{"2":{"25":1,"29":1}}],["filter",{"2":{"21":1,"38":1}}],["file",{"0":{"32":1,"43":1},"2":{"18":3,"21":2,"30":1,"42":1,"43":3,"44":3}}],["files",{"0":{"42":1},"2":{"3":2,"32":2,"42":4,"44":4}}],["fixed",{"2":{"48":1}}],["fix",{"2":{"16":1}}],["find",{"2":{"16":1}}],["figure",{"2":{"15":1,"17":1,"20":1,"27":1,"28":1,"38":1,"47":1,"51":1,"52":1}}],["fig",{"2":{"15":4,"20":4,"27":5,"38":4,"47":4,"51":4,"52":4}}],["fields",{"2":{"7":1,"15":2,"23":1,"40":2}}],["field",{"2":{"7":3,"15":1,"23":1,"37":1,"38":1,"40":3}}],["first",{"2":{"3":1,"25":1,"42":1}}],["follows",{"2":{"21":1,"22":2,"29":5,"40":1}}],["following",{"2":{"3":3,"7":3,"8":1,"9":1,"10":1,"11":1,"14":1,"22":1,"23":4,"36":1,"37":1,"38":2,"39":2,"40":4,"43":1,"47":2,"51":1}}],["folder",{"2":{"21":1,"42":2}}],["for",{"0":{"1":1,"24":1},"2":{"0":10,"3":7,"5":2,"6":1,"7":3,"8":1,"9":1,"10":1,"11":1,"14":1,"15":8,"16":1,"18":4,"20":1,"21":1,"23":4,"24":1,"25":1,"32":1,"34":1,"39":2,"40":4,"42":1,"45":2,"48":2}}],["format",{"2":{"0":2,"30":1,"31":2,"32":1}}],["found",{"2":{"0":2,"40":1}}],["lsm",{"2":{"20":1,"23":1,"27":3,"28":2,"29":7}}],["lsd",{"2":{"20":7,"27":12,"28":7,"29":6}}],["let",{"0":{"47":1},"2":{"47":1,"51":2,"52":2}}],["letter",{"2":{"9":1,"10":1,"11":1}}],["length",{"2":{"47":2}}],["length=11",{"2":{"47":2}}],["length=19",{"2":{"20":1,"27":3,"28":2}}],["length=16",{"2":{"20":1}}],["leniency",{"2":{"0":4}}],["levels=range",{"2":{"20":2,"27":3,"28":2,"47":2}}],["lt",{"2":{"7":1,"29":1}}],["literate",{"2":{"39":1,"44":1,"48":1,"53":1}}],["linewidth=2",{"2":{"20":1,"27":3,"28":2}}],["linewidth=5",{"2":{"15":2,"20":2,"47":2,"51":1,"52":9}}],["linewidth=3",{"2":{"15":1,"51":1,"52":1}}],["linestyle=",{"2":{"52":4}}],["lines",{"2":{"15":3,"20":3,"27":3,"28":2,"38":3,"47":4,"51":2,"52":10}}],["limits=",{"2":{"15":1,"20":2,"27":3,"28":2,"38":1,"47":2,"51":1,"52":1}}],["like",{"2":{"4":1}}],["listing",{"0":{"32":1},"2":{"31":1}}],["listings",{"0":{"30":1},"1":{"31":1,"32":1}}],["lists",{"0":{"31":1},"2":{"30":1,"44":1}}],["listed",{"2":{"25":1}}],["list",{"0":{"6":1,"8":1,"33":1,"44":1},"1":{"9":1,"10":1,"11":1},"2":{"3":6,"4":2,"6":1,"8":1,"30":1,"31":1,"32":1,"41":1,"43":1,"44":2}}],["loaded",{"0":{"28":1},"2":{"23":1,"25":1}}],["load",{"2":{"21":1}}],["loading",{"0":{"18":1},"1":{"19":1,"20":1,"21":1},"2":{"18":2}}],["local",{"2":{"18":1,"21":1}}],["log",{"2":{"5":1,"21":1,"29":5}}],["logging",{"2":{"3":4}}],["longer",{"2":{"18":1}}],["longitude",{"2":{"0":8,"3":1,"15":5,"20":2,"21":1,"23":1,"27":3,"28":2,"29":5,"36":2,"37":3,"38":2,"39":4,"40":2,"47":3,"48":2,"51":1}}],["lon",{"2":{"3":4,"15":3,"20":2,"23":1,"27":3,"28":2,"36":4,"37":4,"38":7,"39":4,"40":6,"42":1,"47":7}}],["largely",{"2":{"40":1}}],["larger",{"2":{"25":1}}],["landseaflat",{"2":{"23":3,"29":2}}],["landseatopo",{"2":{"23":4,"24":1,"29":2}}],["landsea",{"0":{"20":1,"24":1},"2":{"18":2,"21":5,"23":4,"24":2}}],["land",{"0":{"18":1,"22":1,"25":1,"28":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1},"2":{"18":2,"20":1,"21":2,"23":4,"24":1,"25":7,"27":1,"28":2,"29":15}}],["layout",{"2":{"15":1,"20":1,"27":1,"28":1,"38":1,"47":1,"51":1,"52":1}}],["later",{"2":{"40":1}}],["latency",{"2":{"18":2}}],["latest",{"2":{"16":3}}],["lat",{"2":{"3":4,"15":3,"20":2,"23":1,"27":3,"28":2,"36":4,"37":4,"38":7,"39":4,"40":6,"42":1,"47":7}}],["latitude",{"2":{"0":8,"3":1,"15":5,"20":1,"21":1,"23":1,"27":1,"28":1,"29":5,"36":2,"37":3,"38":2,"39":4,"40":4,"47":3,"48":2}}],["last",{"2":{"3":2,"42":1}}],["wrf",{"2":{"39":1}}],["wtgs84",{"2":{"22":1}}],["way",{"2":{"49":1}}],["was",{"2":{"39":1,"44":1,"48":1,"53":1}}],["waiting",{"2":{"16":1}}],["want",{"2":{"16":1,"41":2}}],["waf",{"2":{"9":4}}],["warning",{"2":{"3":2,"4":1,"44":3,"48":2}}],["worth",{"2":{"25":1}}],["working",{"2":{"16":1}}],["work",{"2":{"3":2,"4":1,"30":1,"44":6}}],["wong",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["would",{"2":{"4":1}}],["width=225",{"2":{"27":3}}],["width=350",{"2":{"20":2,"28":2,"47":2}}],["width=750",{"2":{"15":1,"38":1,"51":1,"52":1}}],["wishes",{"2":{"44":1}}],["wish",{"2":{"6":1,"44":1,"49":1}}],["will",{"2":{"3":8,"4":3,"7":1,"14":2,"23":1,"29":7,"30":1,"32":1,"40":3,"43":1}}],["without",{"2":{"16":1,"29":1}}],["within",{"2":{"0":4,"7":1,"21":1,"23":1,"37":3,"38":1,"40":2,"48":2,"51":3,"52":1,"53":5}}],["with",{"2":{"0":4,"4":2,"7":1,"14":2,"18":1,"20":1,"23":2,"29":1,"31":1,"40":2,"43":2,"44":3,"47":1,"49":2,"51":1,"52":1}}],["wholly",{"2":{"52":1}}],["while",{"2":{"15":1}}],["which",{"2":{"7":2,"18":1,"21":1,"22":1,"23":1,"25":1,"30":1,"40":3,"43":1,"45":1,"49":1,"51":1}}],["where",{"2":{"3":2,"14":1,"25":1,"29":1,"40":1,"48":4}}],["when",{"2":{"3":1,"7":1,"18":1,"25":2,"28":1,"42":1,"48":2,"49":1}}],["what",{"0":{"7":1,"40":1},"2":{"0":2,"15":1,"41":1,"48":2,"51":1}}],["w",{"2":{"3":3,"7":3,"8":1,"9":1,"10":1,"11":1,"14":1,"15":2,"40":1,"43":1,"47":1,"51":1}}],["well",{"2":{"31":1,"44":1}}],["we",{"2":{"2":1,"3":2,"4":2,"5":1,"7":1,"12":1,"14":1,"15":2,"20":1,"23":1,"34":1,"37":1,"38":2,"40":1,"43":1,"44":1,"45":4,"47":2,"48":4,"49":2,"51":4,"52":2,"53":4}}],["westernmost",{"2":{"15":1}}],["western",{"2":{"9":1}}],["west",{"2":{"0":3}}],["big",{"2":{"52":10,"53":1}}],["b",{"2":{"51":5,"52":8}}],["back",{"2":{"44":2}}],["batch",{"2":{"42":1}}],["base",{"2":{"53":3}}],["based",{"2":{"29":3,"39":2,"47":1}}],["basically",{"2":{"40":1}}],["basic",{"2":{"2":1,"30":1,"34":1,"40":1}}],["branch",{"2":{"16":1}}],["brief",{"2":{"0":1}}],["buffer",{"2":{"25":1}}],["but",{"2":{"25":1,"40":1,"41":1,"51":1,"52":1}}],["bugs",{"2":{"16":1}}],["build",{"2":{"5":1}}],["blue",{"2":{"38":1,"51":1,"52":2}}],["blurred",{"2":{"21":1}}],["bleed",{"2":{"28":1}}],["black",{"2":{"15":1,"20":1,"27":3,"28":2,"38":1,"47":2,"51":1,"52":1}}],["blat",{"2":{"15":5,"38":2,"52":8}}],["blon",{"2":{"15":4,"38":2,"52":8}}],["besides",{"2":{"31":1}}],["best",{"2":{"28":1}}],["before",{"2":{"29":1,"48":2}}],["below",{"2":{"25":1,"51":2,"52":1}}],["beneath",{"2":{"22":1}}],["becomes",{"2":{"21":1}}],["because",{"2":{"15":1,"18":1,"28":1,"37":1}}],["bedrock",{"2":{"21":5,"22":2}}],["better",{"2":{"18":1}}],["between",{"0":{"15":1,"27":1},"2":{"7":2,"15":1,"18":1,"21":1,"34":1}}],["been",{"2":{"3":1,"4":1,"18":1,"25":1}}],["be",{"2":{"2":1,"3":14,"4":2,"5":2,"7":5,"14":2,"16":1,"18":1,"21":2,"25":1,"28":1,"29":7,"30":2,"32":2,"37":1,"40":1,"42":3,"52":1,"53":4}}],["being",{"2":{"0":2,"4":1,"14":1}}],["box",{"2":{"51":1}}],["both",{"2":{"7":1,"21":1,"23":1,"30":1,"40":1}}],["bounding",{"2":{"37":1,"51":1}}],["boundaries",{"2":{"28":1}}],["boundary",{"2":{"7":4}}],["bound",{"2":{"0":12,"3":2,"7":1,"15":9,"38":1}}],["bounds",{"0":{"15":1},"2":{"0":11,"3":2,"7":1,"8":1,"9":1,"10":1,"11":1,"14":1,"15":3,"23":2,"36":1,"37":1,"38":1,"43":1,"47":2,"51":5}}],["bool=false",{"2":{"42":1}}],["boolean",{"2":{"4":1}}],["bool",{"2":{"0":4,"3":4,"4":2,"7":2,"21":5,"29":1,"30":2,"31":5,"44":1,"53":6}}],["by",{"2":{"0":2,"3":2,"7":6,"8":1,"9":1,"10":1,"11":1,"15":2,"16":1,"25":2,"34":1,"38":1,"41":1,"49":1,"51":2,"52":1,"53":7}}],[">",{"2":{"0":2,"3":2,"4":1,"14":1,"15":2,"21":1,"29":5,"30":1,"31":2,"32":1,"39":2,"48":2,"53":3}}],["randn",{"2":{"47":1}}],["raw",{"2":{"13":1,"19":1,"26":1,"27":5,"28":4,"29":1,"35":1,"46":1,"50":1}}],["runner",{"2":{"44":6}}],["running",{"2":{"0":2,"53":2}}],["roughly",{"2":{"21":2,"29":10}}],["rw",{"2":{"0":6}}],["reexported",{"2":{"49":1}}],["relevant",{"2":{"40":1}}],["release",{"2":{"16":2}}],["reduce",{"2":{"48":1}}],["red",{"2":{"38":1,"47":2,"52":3}}],["redefined",{"2":{"2":1}}],["recommended",{"2":{"25":2}}],["rectg",{"2":{"53":3}}],["rectgrid",{"0":{"36":1},"2":{"39":2,"40":4}}],["recttest",{"2":{"43":1}}],["rectlist",{"2":{"3":1,"30":2,"44":2}}],["rectangle",{"2":{"3":5,"30":1}}],["rectilinear",{"2":{"3":4,"7":8,"8":1,"9":1,"10":1,"15":3,"36":1,"37":2,"38":1,"39":2,"40":3,"43":1}}],["rectregions",{"2":{"3":1,"31":1,"34":1,"42":1}}],["rectregion",{"2":{"3":8,"4":2,"7":4,"9":1,"15":7,"20":1,"27":1,"30":2,"40":1,"52":1,"53":2}}],["refer",{"2":{"23":1}}],["repository",{"2":{"16":1}}],["regarding",{"2":{"12":1,"23":2}}],["registry",{"2":{"16":1}}],["regid",{"2":{"3":6}}],["regionmask",{"2":{"39":1,"40":4}}],["regiongrids",{"2":{"34":1}}],["regiongrid",{"0":{"34":1,"40":1,"45":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1,"46":1,"47":1,"48":1},"2":{"34":1,"36":1,"37":2,"38":1,"39":3,"40":6,"45":1,"47":2,"48":4}}],["region2",{"2":{"3":1}}],["regions",{"0":{"10":1,"11":1},"2":{"3":1,"7":1,"44":1}}],["region",{"2":{"0":12,"3":13,"7":3,"8":2,"9":2,"10":2,"11":2,"14":2,"15":2,"30":2,"36":1,"37":2,"38":5,"40":6,"43":2,"45":3,"47":4,"48":2,"49":3,"51":2,"52":7}}],["resh",{"2":{"26":1}}],["resolution",{"2":{"20":1,"21":3}}],["resolved",{"2":{"18":1}}],["resize",{"2":{"15":1,"20":1,"27":1,"28":1,"38":1,"47":1,"51":1,"52":1}}],["resl",{"2":{"13":1,"19":1,"35":1,"46":1,"50":1}}],["result",{"2":{"7":1}}],["resetting",{"2":{"44":1}}],["resetgeoregions",{"2":{"6":1,"30":3,"33":1,"44":2}}],["reset",{"0":{"6":1,"44":1},"2":{"6":1,"44":5}}],["respectively",{"2":{"0":2,"3":1,"25":1,"40":1}}],["removed",{"2":{"5":1}}],["removegeoregion",{"2":{"5":4,"53":4}}],["remove",{"2":{"5":1}}],["removing",{"0":{"5":1},"2":{"2":1}}],["retrieval",{"2":{"22":1}}],["retrieved",{"2":{"32":1}}],["retrieve",{"2":{"15":1,"21":1}}],["retrieving",{"0":{"14":1,"20":1},"2":{"3":2,"8":1,"9":1,"10":1,"11":1,"25":1,"28":1}}],["return",{"2":{"21":2}}],["returnlsd",{"2":{"21":2}}],["returns",{"2":{"4":1,"14":1,"15":2,"45":1}}],["returning",{"2":{"4":1}}],["returned",{"2":{"0":1}}],["reanalysis",{"2":{"39":1}}],["readdlm",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["reading",{"0":{"12":1,"43":1},"1":{"13":1,"14":1,"15":1}}],["read",{"2":{"3":2,"4":1,"30":1,"43":2,"44":3}}],["real",{"2":{"0":18,"3":3,"7":2,"15":6,"29":5,"39":6,"40":3,"48":4,"53":3}}],["re",{"2":{"0":6}}],["rs",{"2":{"0":6}}],["rnd",{"2":{"4":6}}],["rn",{"2":{"0":6}}],["cgeo",{"2":{"53":4}}],["c",{"2":{"51":7}}],["cesm",{"2":{"39":1}}],["central",{"2":{"10":1,"45":1,"47":1}}],["circular",{"2":{"28":1}}],["child",{"2":{"53":10}}],["choice",{"2":{"42":1}}],["choose",{"2":{"21":1}}],["checkif",{"2":{"4":1}}],["checking",{"2":{"3":3,"4":3}}],["checkgrid",{"2":{"0":1}}],["check",{"2":{"0":2,"3":2,"4":1,"5":1,"49":2,"53":3}}],["checkpoint",{"2":{"0":1}}],["clat",{"2":{"13":1,"15":1,"19":1,"20":1,"26":1,"27":3,"28":2,"35":1,"38":1,"46":1,"47":2,"50":1,"51":1,"52":1}}],["closest",{"2":{"30":1}}],["closer",{"2":{"21":1,"29":5}}],["closed",{"2":{"3":1,"42":1}}],["clon",{"2":{"13":1,"15":1,"19":1,"20":1,"26":1,"27":3,"28":2,"35":1,"38":1,"46":1,"47":2,"50":1,"51":1,"52":1}}],["cst",{"2":{"13":2,"19":2,"26":2,"35":2,"46":2,"50":2}}],["cna",{"2":{"10":4}}],["currently",{"2":{"8":1}}],["custom",{"0":{"32":1,"43":1},"2":{"6":1,"30":2,"31":6,"32":2,"43":1,"44":2}}],["calculate",{"2":{"51":1}}],["called",{"2":{"30":1}}],["calling",{"2":{"25":1}}],["call",{"2":{"6":1,"9":1,"10":1,"11":1,"25":1,"28":1,"44":1}}],["case",{"2":{"51":1,"52":1}}],["causes",{"2":{"28":1}}],["cairomakie",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["candidates",{"2":{"30":1}}],["cannot",{"2":{"5":1}}],["can",{"2":{"2":1,"3":4,"4":1,"5":1,"6":1,"7":1,"16":2,"18":3,"21":2,"23":1,"25":1,"30":1,"32":1,"34":1,"42":2,"43":1,"44":2,"51":1,"52":1}}],["created",{"2":{"21":1,"25":1}}],["create",{"2":{"15":2}}],["creates",{"2":{"3":2,"39":2}}],["creating",{"0":{"2":1},"1":{"3":1,"4":1,"5":1,"6":1},"2":{"2":1,"34":1}}],["corroborate",{"2":{"51":1}}],["corresponding",{"2":{"29":1}}],["corresponds",{"2":{"21":2,"29":10}}],["collect",{"2":{"47":2}}],["color=",{"2":{"15":1,"20":1,"27":3,"28":2,"38":1,"47":4,"51":1,"52":10}}],["copies",{"2":{"42":1}}],["copy",{"2":{"42":2}}],["coarser",{"2":{"20":1}}],["coast",{"2":{"13":5,"19":5,"26":5,"35":5,"46":5,"50":5}}],["coastlines",{"2":{"20":1}}],["coastline",{"2":{"13":1,"18":1,"19":1,"21":1,"25":1,"26":1,"35":1,"46":1,"50":1}}],["cost",{"2":{"18":1}}],["coordgeoregion",{"2":{"15":4,"20":1,"38":1,"47":1,"51":1,"52":5}}],["coordinate",{"2":{"15":1}}],["coordinates",{"2":{"0":1,"3":2,"7":1,"15":2,"42":1,"51":5}}],["comprises",{"2":{"25":1}}],["comparison",{"0":{"27":1},"2":{"20":1}}],["comes",{"2":{"18":1}}],["comments",{"2":{"17":1}}],["comments=true",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["command",{"2":{"16":1}}],["com",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["coming",{"2":{"1":1}}],["covers",{"2":{"8":1}}],["covered",{"2":{"0":1}}],["could",{"2":{"7":1}}],["concern",{"2":{"51":1}}],["converts",{"2":{"22":1}}],["contourf",{"2":{"20":2,"27":3,"28":2,"47":2}}],["contain",{"2":{"7":2,"23":2,"40":3}}],["containing",{"2":{"3":2,"23":4,"24":1,"39":4,"43":1,"44":1,"48":6,"53":2}}],["contains",{"2":{"0":1,"7":1,"8":1,"37":1,"40":1,"48":2}}],["consider",{"2":{"38":1,"52":1}}],["considered",{"2":{"5":1,"7":1,"28":1}}],["construct",{"2":{"3":1}}],["number",{"2":{"53":1}}],["ndata",{"2":{"47":1,"48":3}}],["nca",{"2":{"47":3}}],["nws",{"2":{"37":1}}],["nwn",{"2":{"14":3,"15":1}}],["nlat",{"2":{"36":1,"37":2,"38":2,"47":4}}],["nlon",{"2":{"36":1,"37":2,"38":2,"47":4}}],["next",{"2":{"47":1}}],["need",{"2":{"18":1,"25":1}}],["netcdf",{"2":{"18":1,"21":2}}],["necessary",{"2":{"16":1}}],["new",{"0":{"3":1},"2":{"16":1,"45":1,"47":1}}],["nans",{"2":{"40":1}}],["nan",{"2":{"23":2,"37":14,"47":148}}],["nasaprecipitation",{"2":{"23":1}}],["natgeo",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["natural",{"2":{"7":1,"52":1}}],["name",{"2":{"3":10,"7":2,"8":2,"9":2,"10":2,"11":2,"14":2,"30":1,"43":3,"47":2,"51":2}}],["n",{"2":{"3":3,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"15":2,"40":1,"43":1,"47":1,"48":15,"51":1,"53":2}}],["now",{"2":{"22":1,"51":2,"52":2}}],["non",{"2":{"7":1,"39":1,"40":2}}],["no",{"2":{"0":4,"4":1,"14":1,"15":1,"30":1,"43":1,"51":1}}],["northern",{"2":{"47":1}}],["northernmost",{"2":{"15":1}}],["northwest",{"2":{"14":1}}],["north",{"2":{"0":3,"7":1,"10":1,"14":1,"45":1}}],["note",{"2":{"51":1}}],["noticeable",{"2":{"18":1}}],["nothing",{"2":{"13":1,"19":1,"25":1,"26":1,"29":4,"30":1,"31":2,"32":1,"35":1,"46":1,"48":1,"50":1}}],["not",{"2":{"0":3,"3":2,"4":5,"5":2,"14":2,"23":1,"25":2,"42":1,"48":2,"51":1,"52":1,"53":2}}],["nbsp",{"2":{"0":2,"3":2,"4":1,"7":1,"14":1,"15":2,"21":1,"23":1,"24":1,"29":2,"30":1,"31":2,"32":1,"39":2,"40":1,"42":1,"43":1,"44":1,"48":2,"53":3}}],["dimensions",{"2":{"48":3}}],["dimension",{"2":{"48":11}}],["displayed",{"2":{"30":1,"32":1}}],["display",{"2":{"30":1,"31":7,"32":1}}],["distant",{"2":{"25":1}}],["distance",{"2":{"18":1}}],["directory",{"2":{"42":1}}],["direction",{"2":{"21":2,"29":10}}],["directly",{"0":{"28":1},"2":{"18":3,"25":1,"28":3}}],["different",{"2":{"31":1,"34":1}}],["differentiate",{"2":{"7":1}}],["differences",{"2":{"34":1,"40":1}}],["difference",{"0":{"15":1},"2":{"7":1,"15":1}}],["dataset",{"0":{"25":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"18":4,"21":4,"23":3,"25":3,"28":1,"29":7}}],["datasets",{"0":{"18":1,"22":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1},"2":{"23":2,"39":1}}],["data",{"0":{"34":1,"45":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1,"46":1,"47":1,"48":1},"2":{"7":1,"18":5,"21":4,"22":2,"23":3,"37":2,"38":1,"40":9,"45":4,"47":3,"48":7,"49":1}}],["dealing",{"2":{"49":1}}],["derived",{"2":{"38":1}}],["degree",{"2":{"25":1}}],["denote",{"2":{"49":1}}],["denotes",{"2":{"15":1,"25":2}}],["denoted",{"2":{"7":2}}],["delimitedfiles",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["detect",{"2":{"51":1}}],["determining",{"2":{"23":1}}],["determine",{"2":{"3":2,"49":1,"52":1}}],["detailed",{"2":{"48":2}}],["details",{"2":{"5":1,"6":1,"18":1}}],["default",{"0":{"33":1},"2":{"3":4,"7":2,"8":1,"21":1,"31":5,"44":2}}],["define",{"0":{"47":1},"2":{"3":1,"41":1,"42":1,"47":2,"51":1}}],["defined",{"0":{"12":1,"14":1},"1":{"13":1,"14":1,"15":1},"2":{"0":2,"2":1,"3":4,"5":2,"8":1,"9":4,"10":4,"11":4,"15":2,"30":2,"31":2,"32":1,"38":1,"42":1,"44":1,"45":1,"51":1,"52":2,"53":7}}],["defining",{"0":{"3":1},"2":{"3":3,"7":1,"40":8,"42":3}}],["depot",{"2":{"3":1}}],["describing",{"2":{"40":4}}],["describe",{"2":{"0":1}}],["description",{"2":{"0":1}}],["dot",{"2":{"52":4}}],["doubly",{"2":{"28":1}}],["done",{"2":{"18":1}}],["don",{"2":{"18":1,"41":1}}],["downloading",{"2":{"18":1}}],["downloaded",{"2":{"18":1,"21":3}}],["download",{"2":{"13":1,"18":2,"19":1,"26":1,"35":1,"46":1,"50":1}}],["domains",{"2":{"9":1,"10":1,"11":1}}],["domain",{"2":{"7":1,"8":1,"47":1}}],["documenter",{"2":{"5":1}}],["docstring",{"2":{"5":2}}],["do",{"2":{"0":1,"40":1,"41":1,"44":1,"45":1}}],["ilat",{"2":{"36":1,"37":1,"38":1,"40":1,"47":1}}],["ilon",{"2":{"36":1,"37":1,"38":1,"40":1,"47":1}}],["ipcc",{"2":{"31":1}}],["implementing",{"2":{"25":1}}],["imagefiltering",{"2":{"21":1,"25":1}}],["ice",{"2":{"21":1,"22":2}}],["ids",{"2":{"9":1,"10":1,"11":1}}],["idtrc`",{"2":{"4":1}}],["identified",{"2":{"7":2,"8":1}}],["identifier",{"2":{"3":3,"4":3,"7":2}}],["identify",{"2":{"3":2,"4":1,"14":1}}],["id",{"2":{"3":19,"4":9,"7":3,"8":4,"9":4,"10":4,"11":4,"14":10,"30":1,"43":5,"47":3,"51":3}}],["iterable",{"2":{"48":1}}],["iterations",{"2":{"21":4,"29":20}}],["iteratively",{"2":{"18":1}}],["its",{"2":{"15":1,"18":1,"23":1}}],["itself",{"2":{"7":3,"28":1}}],["iturbide",{"0":{"11":1},"2":{"11":1,"44":1}}],["it",{"0":{"4":1,"49":1},"1":{"50":1,"51":1,"52":1,"53":1},"2":{"2":2,"5":1,"17":1,"20":1,"21":1,"25":2,"28":1,"31":1,"32":1,"37":1,"43":1,"51":5}}],["if",{"2":{"0":10,"3":8,"4":8,"14":2,"16":1,"17":2,"18":1,"21":4,"23":1,"29":2,"30":1,"31":5,"32":1,"34":1,"42":1,"43":1,"44":3,"48":1,"49":2,"51":3,"52":1,"53":7}}],["isingeoregion",{"2":{"49":1,"51":3,"52":5}}],["isca",{"2":{"39":1}}],["issue",{"2":{"17":1}}],["isnan",{"2":{"38":4}}],["isn",{"2":{"16":1}}],["isgeoregion",{"2":{"4":5}}],["is360",{"2":{"3":2,"7":1,"8":1,"9":1,"10":1,"11":1,"14":1,"43":1,"47":1,"51":1}}],["is180",{"2":{"3":2,"7":1,"8":1,"9":1,"10":1,"11":1,"14":1,"43":1,"47":1,"51":1}}],["is",{"0":{"4":1,"7":1,"40":1,"49":1,"51":1,"52":1},"1":{"50":1,"51":1,"52":1,"53":1},"2":{"0":11,"3":16,"4":9,"5":1,"7":6,"14":3,"15":6,"18":4,"21":4,"23":9,"25":3,"28":3,"29":9,"31":6,"32":1,"37":3,"38":1,"39":2,"40":2,"43":1,"45":1,"47":1,"48":6,"49":3,"51":11,"52":3,"53":7}}],["i",{"2":{"0":1,"3":1,"4":1,"14":1,"15":2,"16":2,"21":1,"42":2}}],["inlat",{"2":{"38":4}}],["inlon",{"2":{"38":4}}],["indicate",{"2":{"37":1}}],["indices",{"2":{"36":2,"37":2,"38":2,"40":4,"47":2}}],["independently",{"2":{"4":1}}],["indeed",{"2":{"3":2,"52":1}}],["inputs",{"2":{"25":1}}],["including",{"2":{"30":1,"32":1}}],["includes",{"2":{"22":1}}],["increase",{"2":{"21":2,"29":10}}],["initial",{"2":{"18":1}}],["installed",{"2":{"16":1}}],["installation",{"0":{"16":1}}],["instructions",{"0":{"16":1}}],["instead",{"2":{"4":1,"29":1}}],["inside",{"0":{"32":1,"52":1},"2":{"3":2,"49":2,"51":1}}],["ints",{"2":{"40":3}}],["int",{"2":{"21":4,"29":15,"48":2,"53":1}}],["integer",{"2":{"25":1}}],["integral",{"2":{"5":1}}],["intersection",{"2":{"47":1}}],["interesting",{"2":{"48":2}}],["interest",{"0":{"47":1},"2":{"18":1,"21":1,"25":1,"39":2}}],["interested",{"2":{"17":1,"45":1,"48":2}}],["interface",{"0":{"0":1}}],["into",{"2":{"3":2,"21":3,"22":1,"23":1,"28":1,"29":4,"42":1,"48":2}}],["information",{"0":{"12":1,"14":1},"1":{"13":1,"14":1,"15":1},"2":{"3":6,"4":1,"8":1,"9":1,"10":1,"11":1,"12":1,"14":2,"18":1,"24":1,"40":3,"43":3,"44":1,"48":2}}],["info",{"2":{"3":12,"4":4,"8":1,"9":1,"10":1,"11":1,"44":1}}],["in",{"0":{"12":1,"15":1,"43":1,"49":1,"51":1},"1":{"13":1,"14":1,"15":1,"50":1,"51":1,"52":1,"53":1},"2":{"0":7,"2":1,"3":9,"4":4,"7":3,"8":1,"9":3,"10":3,"11":3,"12":1,"14":1,"15":4,"16":1,"17":2,"21":5,"23":1,"29":20,"30":1,"31":2,"32":2,"34":1,"37":1,"38":1,"39":1,"40":4,"41":1,"42":2,"43":2,"44":4,"45":3,"47":1,"48":7,"51":5,"52":1,"53":3}}],["ts4",{"2":{"52":5,"53":1}}],["ts3",{"2":{"52":4,"53":1}}],["ts2",{"2":{"52":5,"53":1}}],["ts1",{"2":{"52":5,"53":1}}],["takes",{"2":{"45":1}}],["tablepolyregions",{"2":{"31":2}}],["tablerectregions",{"2":{"31":2}}],["tablegeoregions",{"2":{"30":3,"31":1,"32":1,"33":1}}],["tabular",{"0":{"30":1},"1":{"31":1,"32":1},"2":{"30":1,"31":2,"32":1}}],["textfiles",{"2":{"42":1}}],["templategeoregion",{"2":{"42":1}}],["templategeoregions",{"2":{"32":1,"42":1}}],["templates",{"0":{"41":1},"1":{"42":1,"43":1,"44":1},"2":{"42":1}}],["template",{"0":{"42":1},"2":{"32":1,"42":3}}],["test",{"2":{"3":9,"30":2,"47":1,"51":1,"52":4,"53":1}}],["ticks",{"2":{"47":1}}],["tiltlist",{"2":{"44":2}}],["tiltregion",{"2":{"3":2,"4":2,"53":3}}],["title=",{"2":{"20":2,"27":3,"28":2}}],["time",{"2":{"18":1}}],["two",{"2":{"18":2,"25":1,"34":1}}],["t",{"2":{"16":1,"18":1,"41":1}}],["type",{"0":{"24":1},"2":{"7":13,"9":1,"10":1,"11":1,"21":1,"23":3,"24":1,"25":1,"30":1,"38":1,"39":2,"40":3,"49":2}}],["types",{"2":{"7":3,"23":3,"34":1,"40":3}}],["tf",{"2":{"4":3}}],["txt",{"2":{"3":2,"13":1,"19":1,"26":1,"30":3,"35":1,"43":1,"44":6,"46":1,"50":1}}],["tpl",{"2":{"3":8,"30":1}}],["trivial",{"2":{"51":1}}],["tropical",{"2":{"43":1}}],["trp",{"2":{"43":3}}],["transparent",{"2":{"40":1}}],["trying",{"2":{"17":1}}],["true",{"2":{"3":10,"4":4,"8":1,"9":1,"10":1,"11":1,"14":1,"18":1,"21":3,"23":1,"29":2,"30":1,"31":9,"32":1,"43":1,"44":1,"47":1,"51":3,"52":2,"53":2}}],["trc",{"2":{"3":14,"5":1,"30":1}}],["tlat",{"2":{"0":6,"53":1}}],["tlon",{"2":{"0":6,"53":1}}],["topographic",{"2":{"29":3}}],["topography",{"2":{"22":3,"29":5}}],["toggle",{"2":{"18":1}}],["touch",{"2":{"17":1}}],["to",{"0":{"34":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1},"2":{"0":9,"3":17,"4":10,"5":2,"6":1,"7":3,"9":2,"10":2,"11":2,"14":2,"15":1,"16":5,"17":4,"18":4,"20":1,"21":6,"23":2,"25":3,"27":1,"28":3,"29":12,"30":2,"31":1,"32":3,"37":1,"38":3,"40":6,"41":3,"42":4,"43":1,"44":4,"47":2,"48":4,"49":5,"51":5,"52":2,"53":5}}],["tutorials",{"2":{"0":1}}],["thus",{"2":{"28":2,"40":1}}],["than",{"2":{"18":1}}],["that",{"2":{"0":4,"3":2,"4":1,"7":3,"8":1,"14":1,"15":1,"18":1,"21":1,"22":3,"23":1,"25":2,"28":2,"29":3,"37":2,"38":2,"40":2,"41":1,"42":2,"48":4,"51":6,"52":2,"53":4}}],["though",{"2":{"10":1}}],["through",{"2":{"2":1,"12":1,"34":1}}],["throw=false",{"2":{"4":1,"51":3,"52":4}}],["throw=true",{"2":{"0":2}}],["throws",{"2":{"4":1}}],["thrown",{"2":{"0":2,"3":2,"4":2,"14":2,"43":1,"53":2}}],["throw",{"2":{"0":4,"3":1,"4":3,"53":5}}],["threshold",{"2":{"0":6}}],["they",{"2":{"25":1}}],["these",{"2":{"23":1,"32":1}}],["them",{"2":{"10":1,"41":1,"52":1}}],["then",{"2":{"0":2,"3":2,"4":2,"14":1,"18":1,"21":1,"29":2,"42":1,"43":2,"47":1,"53":2}}],["therefore",{"2":{"5":1}}],["there",{"2":{"0":4,"15":1,"18":1}}],["their",{"2":{"0":1,"23":1,"25":1,"30":1,"40":1,"47":1}}],["the",{"0":{"6":1,"15":1,"23":1,"24":1,"25":1,"38":1,"44":1,"47":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"0":23,"2":1,"3":55,"4":14,"5":3,"6":1,"7":27,"8":7,"9":7,"10":7,"11":7,"14":12,"15":29,"16":9,"18":21,"21":18,"22":6,"23":20,"24":1,"25":12,"28":7,"29":41,"30":1,"31":1,"32":3,"34":4,"36":2,"37":9,"38":10,"39":7,"40":27,"42":7,"43":9,"44":8,"45":4,"47":10,"48":10,"49":4,"51":17,"52":4,"53":6}}],["this",{"2":{"0":1,"2":1,"3":3,"4":5,"8":1,"9":1,"10":1,"11":1,"12":1,"14":1,"16":1,"18":2,"23":1,"28":1,"34":1,"37":1,"39":3,"42":1,"43":1,"44":1,"45":1,"48":2,"49":2,"51":3,"52":2,"53":1}}],["atlantic",{"2":{"51":2}}],["at",{"2":{"28":1,"51":3}}],["auto",{"2":{"20":4,"27":6,"28":4,"47":4}}],["automatically",{"2":{"3":1}}],["again",{"2":{"18":1}}],["ach",{"2":{"20":1,"27":1}}],["aceh",{"0":{"20":1},"2":{"20":1,"27":1}}],["accessed",{"2":{"16":1}}],["actual",{"2":{"15":1,"18":1}}],["ax3",{"2":{"27":3}}],["ax2",{"2":{"20":3,"27":3,"28":3}}],["ax1",{"2":{"20":4,"27":3,"28":3}}],["axis",{"2":{"15":1,"20":2,"27":3,"28":2,"38":1,"47":2,"51":1,"52":1}}],["ax",{"2":{"15":4,"38":6,"47":9,"51":5,"52":11}}],["able",{"2":{"51":1}}],["about",{"0":{"14":1},"2":{"51":1}}],["abstractarray",{"2":{"48":3}}],["abstractrange",{"2":{"39":4}}],["abstractlandsea",{"0":{"23":1},"2":{"23":4}}],["abstract",{"2":{"7":1,"23":3,"40":1}}],["abstractstring",{"2":{"3":8,"4":1,"5":1,"7":2,"14":1,"21":1,"32":1,"42":1,"43":1}}],["american",{"2":{"45":1}}],["america",{"2":{"10":1,"14":1,"47":1}}],["amp",{"0":{"9":1},"2":{"9":1,"44":1}}],["africa",{"2":{"9":1}}],["adapted",{"0":{"9":1,"10":1,"11":1},"2":{"9":1,"10":1,"11":1}}],["addgeoregions",{"2":{"42":1,"43":2}}],["additional",{"2":{"37":1}}],["adding",{"0":{"41":1},"1":{"42":1,"43":1,"44":1},"2":{"3":2}}],["added",{"2":{"3":3,"42":1}}],["add",{"2":{"3":2,"4":2,"9":1,"10":1,"11":1,"16":3,"18":1,"43":1}}],["available",{"0":{"8":1},"1":{"9":1,"10":1,"11":1},"2":{"8":1,"30":3,"31":3,"32":2,"40":1}}],["always",{"2":{"21":1,"28":1}}],["although",{"2":{"16":1}}],["al",{"0":{"10":1,"11":1},"2":{"10":1,"11":1,"44":2}}],["allocations",{"2":{"48":2}}],["allows",{"2":{"7":1,"38":1,"48":1,"49":2}}],["allfiles",{"2":{"30":2,"44":2}}],["allfiles=true",{"2":{"30":1,"33":1,"44":1}}],["all",{"0":{"33":1},"2":{"9":2,"10":2,"11":2,"30":4,"31":3,"32":2,"43":1,"44":1}}],["also",{"2":{"7":2,"23":1,"31":1,"32":1,"40":1,"47":1,"49":1,"51":1}}],["already",{"0":{"4":1},"2":{"3":5,"4":3}}],["assumed",{"2":{"37":1}}],["ask",{"2":{"17":1}}],["aspect",{"2":{"15":1,"20":3,"38":2,"47":3,"51":2}}],["asia",{"2":{"11":1,"38":1}}],["as",{"2":{"7":1,"8":1,"9":1,"10":1,"11":1,"16":2,"18":1,"21":1,"25":1,"31":2,"39":2,"40":2,"42":1,"44":1,"45":1,"48":1,"49":1,"51":1,"52":2}}],["around",{"2":{"25":1}}],["array",{"2":{"23":2,"29":5,"39":4,"40":4,"45":2,"48":8}}],["arcsecond",{"2":{"22":1}}],["arc",{"2":{"21":1}}],["argument",{"2":{"18":1,"30":1}}],["arguments",{"2":{"0":3,"3":4,"4":1,"14":1,"15":2,"21":2,"25":1,"29":10,"30":1,"31":2,"32":1,"39":4,"42":1,"43":1,"44":1,"48":2,"53":4}}],["areas",{"2":{"41":1}}],["are",{"2":{"7":3,"8":1,"9":2,"10":3,"11":2,"17":2,"18":1,"21":2,"25":2,"28":1,"30":1,"37":1,"38":1,"40":4,"45":1,"48":5,"51":3,"52":2}}],["arbitrary",{"2":{"7":1,"52":2}}],["ar6",{"0":{"11":1},"2":{"4":3,"11":6,"14":3,"15":1,"31":3,"37":1,"38":2,"44":1,"45":1,"47":3,"51":4}}],["anyway",{"2":{"51":1}}],["any",{"2":{"17":1,"29":1,"52":1}}],["answer",{"2":{"15":1,"40":1,"45":1}}],["another",{"2":{"3":1,"48":2,"49":1,"52":1}}],["an",{"0":{"5":1},"2":{"0":2,"3":3,"4":5,"5":2,"7":1,"14":2,"17":1,"21":1,"37":1,"38":1,"39":2,"40":4,"43":1,"48":5,"49":1,"51":1,"52":1,"53":2}}],["and",{"0":{"15":1,"18":1,"27":1},"1":{"19":1,"20":1,"21":1},"2":{"0":9,"2":1,"3":6,"5":1,"7":4,"15":11,"16":1,"17":1,"18":3,"20":1,"21":3,"22":1,"23":3,"25":3,"28":1,"29":1,"30":2,"31":1,"34":1,"38":2,"39":2,"40":5,"42":2,"43":1,"44":2,"45":2,"47":3,"48":5,"51":1,"52":4,"53":2}}],["aim",{"2":{"0":1}}],["a",{"0":{"3":1,"4":1,"7":1,"14":1,"15":1,"28":1,"32":1,"38":1,"40":1,"43":1,"49":1,"51":2,"52":2},"1":{"50":1,"51":1,"52":1,"53":1},"2":{"0":5,"2":1,"3":13,"4":3,"7":30,"8":1,"12":1,"14":1,"15":17,"16":1,"18":2,"21":4,"23":3,"24":1,"25":5,"28":1,"29":18,"30":1,"31":1,"34":1,"38":5,"39":6,"40":19,"41":1,"42":3,"45":4,"48":7,"49":3,"51":8,"52":4,"53":16}}],["apply",{"2":{"38":1}}],["applying",{"0":{"34":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1}}],["applied",{"2":{"28":1}}],["application",{"0":{"0":1}}],["api",{"0":{"21":1,"29":1,"39":1,"48":1,"53":1},"2":{"18":1,"25":1}}],["apis",{"0":{"0":1}}],["per",{"2":{"53":1}}],["periodic",{"2":{"28":1}}],["perform",{"2":{"4":1,"25":1,"29":5,"49":1}}],["performing",{"2":{"3":2}}],["pixels",{"2":{"21":2,"29":10}}],["pid",{"2":{"3":2,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"43":1,"47":1,"51":1}}],["pkg>",{"2":{"16":3}}],["practice",{"2":{"28":1}}],["priority",{"2":{"21":1}}],["predefined",{"0":{"33":1},"2":{"30":2,"31":3,"32":1,"44":1}}],["preexisting",{"2":{"25":1}}],["pressing",{"2":{"16":1}}],["previously",{"0":{"14":1}}],["prefix",{"2":{"9":1,"10":1,"11":1}}],["proceeding",{"2":{"48":2}}],["process",{"2":{"12":1}}],["prompt",{"2":{"16":1}}],["properties",{"2":{"3":2,"8":1,"9":1,"10":1,"11":1,"14":1,"30":1,"36":1,"37":1,"38":1,"43":1,"47":2,"51":1}}],["program",{"2":{"0":2,"53":2}}],["programming",{"0":{"0":1}}],["put",{"2":{"7":1}}],["patch",{"2":{"16":1}}],["path",{"2":{"3":3,"21":3,"30":1,"42":3,"43":1}}],["paper",{"2":{"9":1,"10":1,"11":1}}],["packages",{"2":{"23":1}}],["package",{"2":{"5":1,"16":1,"49":2}}],["part",{"2":{"5":1,"40":1}}],["parid",{"2":{"3":4}}],["parent",{"2":{"3":4,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"30":1,"40":2,"43":1,"47":1,"48":2,"51":1,"53":2}}],["page",{"2":{"0":1,"8":1,"18":2,"39":1,"44":1,"48":1,"53":1}}],["postulate",{"2":{"53":4}}],["possible",{"2":{"21":1,"31":1,"32":1}}],["pop",{"2":{"47":1}}],["polyg",{"2":{"53":3}}],["polygrid",{"0":{"37":1,"38":1},"2":{"37":1,"38":1,"39":2,"40":7}}],["polygonops",{"2":{"49":1}}],["polygon",{"2":{"3":1,"42":1,"53":1}}],["polygonal",{"2":{"3":6,"7":4,"10":1,"11":1,"14":1,"15":1,"30":1,"37":1,"38":1,"47":2,"51":1}}],["polylist",{"2":{"3":1,"30":1,"44":2}}],["polyregions",{"2":{"3":3,"31":1,"34":1,"42":3}}],["polyregion",{"0":{"15":1},"2":{"3":6,"4":2,"7":6,"10":1,"11":1,"15":4,"30":1,"38":3,"40":1,"52":4,"53":3}}],["point2",{"2":{"7":1,"49":1,"51":3,"53":1}}],["points",{"2":{"3":3,"15":4,"23":2,"25":1,"29":1,"36":4,"37":4,"38":5,"39":5,"40":4,"47":4,"49":1,"51":2,"53":1}}],["point",{"0":{"51":1},"2":{"0":7,"3":1,"10":1,"11":1,"14":1,"16":1,"23":1,"47":1,"49":3,"51":11,"53":3}}],["placeholder",{"2":{"48":1}}],["place",{"2":{"48":1}}],["plat",{"2":{"0":5}}],["plot",{"2":{"20":1,"38":1,"47":1,"52":1}}],["plotting",{"2":{"15":1}}],["plon",{"2":{"0":5}}],["please",{"2":{"3":1,"17":2,"18":1,"48":2}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/@localSearchIndexroot.BoBh5vNr.js b/dev/assets/chunks/@localSearchIndexroot.BoBh5vNr.js new file mode 100644 index 00000000..2271d03a --- /dev/null +++ b/dev/assets/chunks/@localSearchIndexroot.BoBh5vNr.js @@ -0,0 +1 @@ +const e='{"documentCount":54,"nextId":54,"documentIds":{"0":"/GeoRegions.jl/dev/api#Application-Programming-Interface-(APIs)","1":"/GeoRegions.jl/dev/example/placeholder#Examples-for-using-GeoRegions.jl","2":"/GeoRegions.jl/dev/georegions/create#Creating-GeoRegions","3":"/GeoRegions.jl/dev/georegions/create#Defining-a-new-GeoRegion","4":"/GeoRegions.jl/dev/georegions/create#Is-it-already-a-GeoRegion?","5":"/GeoRegions.jl/dev/georegions/create#Removing-an-existing-GeoRegion","6":"/GeoRegions.jl/dev/georegions/create#Reset-the-list-of-GeoRegions","7":"/GeoRegions.jl/dev/georegions/intro#What-is-a-GeoRegion?","8":"/GeoRegions.jl/dev/georegions/predefined#List-of-Available-GeoRegions","9":"/GeoRegions.jl/dev/georegions/predefined#Adapted-from-Giorgi-and-Francisco-[2000]","10":"/GeoRegions.jl/dev/georegions/predefined#SREX-Regions-adapted-from-Seneviratne-et-al.-[2012]","11":"/GeoRegions.jl/dev/georegions/predefined#AR6-Regions-adapted-from-Iturbide-et-al.,-[2020]","12":"/GeoRegions.jl/dev/georegions/read#Reading-in-Defined-GeoRegion-Information","13":"/GeoRegions.jl/dev/georegions/read#setup","14":"/GeoRegions.jl/dev/georegions/read#Retrieving-Information-about-a-Previously-Defined-GeoRegion","15":"/GeoRegions.jl/dev/georegions/read#The-Difference-between-Bounds-and-Shape-in-a-PolyRegion","16":"/GeoRegions.jl/dev/#Installation-Instructions","17":"/GeoRegions.jl/dev/#Getting-help","18":"/GeoRegions.jl/dev/landsea/create#Loading-and-Saving-Land-Sea-Mask-Datasets","19":"/GeoRegions.jl/dev/landsea/create#setup","20":"/GeoRegions.jl/dev/landsea/create#Retrieving-LandSea-Example-over-Aceh","21":"/GeoRegions.jl/dev/landsea/create#api","22":"/GeoRegions.jl/dev/landsea/intro#Land-Sea-Mask-Datasets","23":"/GeoRegions.jl/dev/landsea/intro#The-AbstractLandSea-SuperType","24":"/GeoRegions.jl/dev/landsea/intro#The-LandSea-Type-for-GeoRegions.jl","25":"/GeoRegions.jl/dev/landsea/smooth#Smoothing-of-the-Land-Sea-Mask-Dataset","26":"/GeoRegions.jl/dev/landsea/smooth#setup","27":"/GeoRegions.jl/dev/landsea/smooth#Example-comparison-between-Smooth-and-Unsmoothed-Masks","28":"/GeoRegions.jl/dev/landsea/smooth#Smoothing-Directly-from-a-loaded-Land-Sea-Mask","29":"/GeoRegions.jl/dev/landsea/smooth#api","30":"/GeoRegions.jl/dev/lists/api#Tabular-Listings-of-GeoRegions","31":"/GeoRegions.jl/dev/lists/api#More-specific-lists-of-GeoRegions","32":"/GeoRegions.jl/dev/lists/api#Listing-GeoRegions-inside-a-Custom-File","33":"/GeoRegions.jl/dev/lists/default#Default-List-of-All-Predefined-GeoRegions","34":"/GeoRegions.jl/dev/regiongrids/create#RegionGrid:-Applying-GeoRegions-to-Gridded-Data","35":"/GeoRegions.jl/dev/regiongrids/create#setup","36":"/GeoRegions.jl/dev/regiongrids/create#RectGrid-Example","37":"/GeoRegions.jl/dev/regiongrids/create#PolyGrid-Example","38":"/GeoRegions.jl/dev/regiongrids/create#The-Mask-of-a-PolyGrid","39":"/GeoRegions.jl/dev/regiongrids/create#api","40":"/GeoRegions.jl/dev/regiongrids/intro#What-is-a-RegionGrid?","41":"/GeoRegions.jl/dev/using/custom#Adding-GeoRegions-from-Templates","42":"/GeoRegions.jl/dev/using/custom#Template-GeoRegion-Files","43":"/GeoRegions.jl/dev/using/custom#Reading-in-GeoRegions-from-a-custom-file","44":"/GeoRegions.jl/dev/using/custom#Reset-the-list-of-GeoRegions","45":"/GeoRegions.jl/dev/using/extract#Extracting-Gridded-Data-using-RegionGrid","46":"/GeoRegions.jl/dev/using/extract#setup","47":"/GeoRegions.jl/dev/using/extract#Let-us-define-the-GeoRegion-of-interest","48":"/GeoRegions.jl/dev/using/extract#api","49":"/GeoRegions.jl/dev/using/isin#Is-it-in-a-GeoRegion?","50":"/GeoRegions.jl/dev/using/isin#setup","51":"/GeoRegions.jl/dev/using/isin#Is-a-Point-in-a-GeoRegion?","52":"/GeoRegions.jl/dev/using/isin#Is-a-GeoRegion-inside-a-GeoRegion?","53":"/GeoRegions.jl/dev/using/isin#api"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[5,1,99],"1":[5,1,3],"2":[2,1,23],"3":[4,2,219],"4":[6,2,111],"5":[4,2,50],"6":[5,2,19],"7":[5,1,140],"8":[4,1,62],"9":[7,4,78],"10":[9,4,91],"11":[9,4,89],"12":[5,1,14],"13":[1,5,28],"14":[7,5,95],"15":[9,5,116],"16":[2,1,69],"17":[2,1,36],"18":[7,1,121],"19":[1,7,28],"20":[5,7,80],"21":[1,7,141],"22":[4,1,37],"23":[3,4,104],"24":[6,4,23],"25":[7,1,99],"26":[1,7,28],"27":[7,7,72],"28":[8,7,102],"29":[1,7,107],"30":[4,1,95],"31":[5,4,60],"32":[6,4,54],"33":[6,1,6],"34":[6,1,31],"35":[1,6,28],"36":[2,6,53],"37":[2,6,87],"38":[5,6,131],"39":[1,6,71],"40":[5,1,126],"41":[4,1,26],"42":[3,4,75],"43":[7,4,76],"44":[5,4,100],"45":[5,1,43],"46":[1,5,28],"47":[7,5,338],"48":[1,5,106],"49":[6,1,51],"50":[1,6,28],"51":[6,6,159],"52":[5,6,142],"53":[1,6,89]},"averageFieldLength":[4.388888888888889,3.685185185185185,79.38888888888893],"storedFields":{"0":{"title":"Application Programming Interface (APIs)","titles":[]},"1":{"title":"Examples for using GeoRegions.jl","titles":[]},"2":{"title":"Creating GeoRegions","titles":[]},"3":{"title":"Defining a new GeoRegion","titles":["Creating GeoRegions"]},"4":{"title":"Is it already a GeoRegion?","titles":["Creating GeoRegions"]},"5":{"title":"Removing an existing GeoRegion","titles":["Creating GeoRegions"]},"6":{"title":"Reset the list of GeoRegions","titles":["Creating GeoRegions"]},"7":{"title":"What is a GeoRegion?","titles":[]},"8":{"title":"List of Available GeoRegions","titles":[]},"9":{"title":"Adapted from Giorgi & Francisco [2000]","titles":["List of Available GeoRegions"]},"10":{"title":"SREX Regions adapted from Seneviratne et al. [2012]","titles":["List of Available GeoRegions"]},"11":{"title":"AR6 Regions adapted from Iturbide et al., [2020]","titles":["List of Available GeoRegions"]},"12":{"title":"Reading in Defined GeoRegion Information","titles":[]},"13":{"title":"Setup","titles":["Reading in Defined GeoRegion Information"]},"14":{"title":"Retrieving Information about a Previously Defined GeoRegion","titles":["Reading in Defined GeoRegion Information"]},"15":{"title":"The Difference between Bounds and Shape in a PolyRegion","titles":["Reading in Defined GeoRegion Information"]},"16":{"title":"Installation Instructions","titles":[]},"17":{"title":"Getting help","titles":[]},"18":{"title":"Loading and Saving Land-Sea Mask Datasets","titles":[]},"19":{"title":"Setup","titles":["Loading and Saving Land-Sea Mask Datasets"]},"20":{"title":"Retrieving LandSea Example over Aceh","titles":["Loading and Saving Land-Sea Mask Datasets"]},"21":{"title":"API","titles":["Loading and Saving Land-Sea Mask Datasets"]},"22":{"title":"Land-Sea Mask Datasets","titles":[]},"23":{"title":"The AbstractLandSea SuperType","titles":["Land-Sea Mask Datasets"]},"24":{"title":"The LandSea Type for GeoRegions.jl","titles":["Land-Sea Mask Datasets"]},"25":{"title":"Smoothing of the Land-Sea Mask Dataset","titles":[]},"26":{"title":"Setup","titles":["Smoothing of the Land-Sea Mask Dataset"]},"27":{"title":"Example comparison between Smooth and Unsmoothed Masks","titles":["Smoothing of the Land-Sea Mask Dataset"]},"28":{"title":"Smoothing Directly from a loaded Land-Sea Mask","titles":["Smoothing of the Land-Sea Mask Dataset"]},"29":{"title":"API","titles":["Smoothing of the Land-Sea Mask Dataset"]},"30":{"title":"Tabular Listings of GeoRegions","titles":[]},"31":{"title":"More specific lists of GeoRegions","titles":["Tabular Listings of GeoRegions"]},"32":{"title":"Listing GeoRegions inside a Custom File","titles":["Tabular Listings of GeoRegions"]},"33":{"title":"Default List of All Predefined GeoRegions","titles":[]},"34":{"title":"RegionGrid: Applying GeoRegions to Gridded Data","titles":[]},"35":{"title":"Setup","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"36":{"title":"RectGrid Example","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"37":{"title":"PolyGrid Example","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"38":{"title":"The Mask of a PolyGrid","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"39":{"title":"API","titles":["RegionGrid: Applying GeoRegions to Gridded Data"]},"40":{"title":"What is a RegionGrid?","titles":[]},"41":{"title":"Adding GeoRegions from Templates","titles":[]},"42":{"title":"Template GeoRegion Files","titles":["Adding GeoRegions from Templates"]},"43":{"title":"Reading in GeoRegions from a custom file","titles":["Adding GeoRegions from Templates"]},"44":{"title":"Reset the list of GeoRegions","titles":["Adding GeoRegions from Templates"]},"45":{"title":"Extracting Gridded Data using RegionGrid","titles":[]},"46":{"title":"Setup","titles":["Extracting Gridded Data using RegionGrid"]},"47":{"title":"Let us define the GeoRegion of interest","titles":["Extracting Gridded Data using RegionGrid"]},"48":{"title":"API","titles":["Extracting Gridded Data using RegionGrid"]},"49":{"title":"Is it in a GeoRegion?","titles":[]},"50":{"title":"Setup","titles":["Is it in a GeoRegion?"]},"51":{"title":"Is a Point in a GeoRegion?","titles":["Is it in a GeoRegion?"]},"52":{"title":"Is a GeoRegion inside a GeoRegion?","titles":["Is it in a GeoRegion?"]},"53":{"title":"API","titles":["Is it in a GeoRegion?"]}},"dirtCount":0,"index":[["∈",{"2":{"48":2}}],["⋱",{"2":{"47":2}}],["⋮",{"2":{"47":4}}],["`nan",{"2":{"37":1}}],["`removegeoregion`",{"2":{"5":2}}],["σ=10",{"2":{"27":1}}],["σ=5",{"2":{"27":1}}],["σ10",{"2":{"27":4}}],["σ05",{"2":{"27":4,"28":3}}],["σlat=10",{"2":{"27":1}}],["σlat=5",{"2":{"27":1,"28":1}}],["σlat",{"2":{"21":3,"25":1,"29":15}}],["σlon=10",{"2":{"27":1}}],["σlon=5",{"2":{"27":1,"28":1}}],["σlon",{"2":{"21":3,"25":1,"29":15}}],["z",{"2":{"20":1,"23":1}}],["+360",{"2":{"47":2}}],["+",{"2":{"43":1}}],["+0",{"2":{"20":4}}],["+2+360",{"2":{"47":1}}],["+2",{"2":{"15":2,"38":2,"47":3,"51":2}}],["ylabel=",{"2":{"20":1,"27":1,"28":1}}],["your",{"2":{"42":2,"43":1}}],["you",{"2":{"16":3,"17":2,"18":3,"21":3,"23":1,"25":2,"28":1,"34":1,"41":3,"49":1}}],["º",{"2":{"20":3,"27":4,"28":3}}],["xlabel=",{"2":{"20":2,"27":3,"28":2}}],["x3c",{"2":{"3":3,"7":6,"15":6,"23":2,"24":1,"29":5,"39":6,"40":6,"48":6,"53":1}}],["912378",{"2":{"47":1}}],["91",{"2":{"47":1}}],["92",{"2":{"47":1}}],["921946",{"2":{"47":1}}],["96",{"2":{"47":1}}],["97",{"2":{"47":1}}],["973778",{"2":{"47":1}}],["9",{"2":{"27":6,"28":4,"36":1}}],["93",{"2":{"27":3,"28":2,"47":1}}],["947996",{"2":{"47":1}}],["94",{"2":{"27":1,"47":1}}],["992546",{"2":{"47":1}}],["99",{"2":{"27":4,"28":2,"47":1}}],["95",{"2":{"20":2,"27":3,"28":2,"38":1,"47":1,"52":1}}],["981648",{"2":{"47":1}}],["98",{"2":{"20":1,"47":1,"52":1}}],["90",{"2":{"7":2,"8":2,"36":2,"37":2,"38":3,"47":6,"52":6}}],["73311",{"2":{"47":1}}],["794846",{"2":{"47":1}}],["718573",{"2":{"47":1}}],["755435",{"2":{"47":1}}],["75983",{"2":{"47":1}}],["75",{"2":{"38":1,"52":1}}],["70172",{"2":{"47":1}}],["70",{"2":{"38":1,"52":1}}],["74",{"2":{"37":1}}],["76",{"2":{"37":1}}],["783474",{"2":{"47":1}}],["781453",{"2":{"47":1}}],["785104",{"2":{"47":1}}],["78",{"2":{"37":1}}],["7",{"2":{"27":4,"28":2,"36":2,"51":4}}],["779084",{"2":{"47":1}}],["77",{"2":{"14":1}}],["724651",{"2":{"47":1}}],["72965",{"2":{"47":1}}],["72",{"2":{"14":2,"37":1}}],["887987",{"2":{"47":1}}],["88783",{"2":{"47":1}}],["87857",{"2":{"47":1}}],["877872",{"2":{"47":1}}],["843487",{"2":{"47":1}}],["89911",{"2":{"47":1}}],["80",{"2":{"37":1,"38":1,"52":3}}],["827397",{"2":{"47":1}}],["82319",{"2":{"47":1}}],["82872",{"2":{"47":1}}],["82",{"2":{"37":1}}],["8",{"2":{"21":2,"29":10,"36":1,"37":2,"38":1,"47":3,"51":3,"52":1}}],["816923",{"2":{"47":1}}],["814681",{"2":{"47":1}}],["817695",{"2":{"47":1}}],["81",{"2":{"14":2}}],["85333",{"2":{"47":1}}],["855692",{"2":{"47":1}}],["852848",{"2":{"47":1}}],["854558",{"2":{"47":1}}],["85",{"2":{"10":4,"38":1,"52":1}}],["868",{"2":{"3":2}}],["867",{"2":{"3":1}}],["≥2",{"2":{"10":1,"11":1}}],["≥1",{"2":{"9":1}}],["≧",{"2":{"10":1,"11":1}}],["3rd",{"2":{"48":2}}],["388788",{"2":{"47":1}}],["388803",{"2":{"47":1}}],["34",{"2":{"51":3}}],["340",{"2":{"51":2}}],["346705",{"2":{"47":1}}],["348482",{"2":{"47":1}}],["3434",{"2":{"47":1}}],["325",{"2":{"52":2}}],["32",{"2":{"47":1,"52":1}}],["32458",{"2":{"47":1}}],["322156",{"2":{"47":1}}],["327811",{"2":{"47":1}}],["320",{"2":{"36":1,"52":1}}],["3662",{"2":{"47":1}}],["361998",{"2":{"47":1}}],["360º",{"2":{"51":1}}],["360×181",{"2":{"47":1}}],["360",{"2":{"7":1,"8":1,"43":1,"47":1,"51":1,"52":2}}],["330",{"2":{"52":2}}],["33×18",{"2":{"47":1}}],["33",{"2":{"47":4}}],["357482",{"2":{"47":1}}],["356206",{"2":{"47":1}}],["355",{"2":{"44":2,"52":1}}],["350",{"2":{"44":2}}],["35",{"2":{"36":1,"52":1}}],["31",{"2":{"47":1}}],["314936",{"2":{"47":1}}],["315",{"2":{"36":1}}],["310",{"2":{"36":1}}],["379738",{"2":{"47":1}}],["379589",{"2":{"47":1}}],["37",{"2":{"11":2}}],["3",{"2":{"9":1,"10":1,"11":1,"20":1,"27":1,"48":2,"52":9}}],["39954",{"2":{"47":1}}],["39773",{"2":{"47":1}}],["39",{"2":{"5":1,"16":1,"18":1,"37":2,"41":1}}],["302304",{"2":{"47":1}}],["30737",{"2":{"47":1}}],["305",{"2":{"36":1}}],["300",{"2":{"36":1,"52":2}}],["30",{"2":{"3":10,"21":1,"22":1,"36":1,"38":1,"43":2,"47":1,"51":1,"52":5}}],["union",{"2":{"39":2,"53":1}}],["units",{"2":{"21":1}}],["unsupported",{"2":{"30":1}}],["unsmoothed",{"0":{"27":1}}],["undefvarerror",{"2":{"5":2}}],["upon",{"2":{"28":1,"40":1}}],["up",{"2":{"18":2}}],["update",{"2":{"16":3}}],["us",{"0":{"47":1},"2":{"7":1,"38":1,"40":1,"47":1,"49":1,"51":2,"52":2}}],["user",{"2":{"30":2,"31":2,"32":1,"40":1}}],["usetopography",{"2":{"29":1}}],["uses",{"2":{"25":1,"40":1}}],["useful",{"2":{"25":1}}],["used",{"2":{"3":4,"4":3,"14":2,"48":2}}],["use",{"2":{"3":10,"4":7,"5":1,"7":1,"14":1,"17":1,"18":1,"23":1,"42":2,"45":1,"49":2}}],["using",{"0":{"1":1,"45":1},"1":{"46":1,"47":1,"48":1},"2":{"3":2,"4":1,"5":2,"7":1,"8":1,"9":1,"10":1,"11":1,"13":2,"15":1,"16":2,"17":1,"18":2,"19":2,"21":1,"26":2,"30":2,"32":1,"35":2,"38":1,"39":1,"42":1,"43":1,"44":1,"46":2,"48":1,"50":2,"51":1,"53":1}}],["keyword",{"2":{"3":4,"4":1,"14":1,"18":1,"21":1,"29":5,"30":2,"31":2,"32":1,"42":1,"53":2}}],["=",{"2":{"3":10,"4":1,"13":3,"15":4,"19":3,"20":7,"21":15,"26":3,"27":8,"28":3,"29":18,"31":5,"35":3,"36":4,"37":4,"38":18,"44":1,"46":3,"47":15,"50":3,"51":8,"52":12,"53":6}}],["variety",{"2":{"31":1}}],["values",{"2":{"21":1,"37":2}}],["valid",{"2":{"3":2,"4":4,"7":1,"14":1,"40":2}}],["via",{"2":{"25":1}}],["v5",{"2":{"22":1}}],["v2",{"2":{"7":1}}],["v1",{"2":{"7":1,"16":3}}],["verify",{"2":{"52":1}}],["very",{"2":{"51":1}}],["version",{"2":{"16":3}}],["versions",{"2":{"9":1,"10":1,"11":1,"16":1}}],["verbose",{"2":{"3":6}}],["vectors",{"2":{"15":1,"47":1}}],["vector",{"2":{"3":5,"7":1,"15":11,"23":2,"39":4,"40":9}}],["hideydecorations",{"2":{"47":1}}],["higher",{"2":{"21":1,"29":5}}],["home",{"2":{"44":6}}],["homedir",{"2":{"21":1}}],["how",{"2":{"17":1,"23":1,"25":1,"40":1,"45":1}}],["however",{"2":{"3":1,"4":1,"7":1,"18":3,"25":2,"40":1,"45":1,"48":2,"51":1}}],["have",{"2":{"17":1,"18":1,"41":1,"42":1,"45":1}}],["has",{"2":{"3":3,"4":1,"8":1,"9":1,"10":1,"11":1,"14":1,"18":2,"21":1,"25":1,"43":1,"47":1,"51":1}}],["heights",{"2":{"22":1}}],["height",{"2":{"20":1,"23":1,"29":1}}],["height=225",{"2":{"27":3}}],["height=350",{"2":{"20":2,"28":2,"47":2}}],["height=750",{"2":{"15":1,"38":1,"51":1,"52":1}}],["here",{"2":{"20":1,"28":1,"37":2,"42":1,"51":1}}],["helping",{"2":{"40":1}}],["help",{"0":{"17":1}}],["https",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["quot",{"2":{"3":4,"53":8}}],["questions",{"2":{"17":2}}],["question",{"2":{"0":2}}],["17",{"2":{"47":1}}],["174595",{"2":{"47":1}}],["182328",{"2":{"47":1}}],["18",{"2":{"38":1,"47":1}}],["180",{"2":{"7":1,"36":2,"37":2,"38":2,"51":2,"52":2}}],["16",{"2":{"38":1,"47":3}}],["168",{"2":{"14":3}}],["112",{"2":{"47":1}}],["111",{"2":{"47":1}}],["11156",{"2":{"47":1}}],["110",{"2":{"47":1,"52":4}}],["113",{"2":{"47":2}}],["114",{"2":{"47":2}}],["115",{"2":{"47":2,"52":1}}],["116",{"2":{"47":2}}],["118",{"2":{"47":2}}],["119",{"2":{"47":2}}],["11",{"2":{"36":1}}],["117866",{"2":{"47":1}}],["117",{"2":{"11":1,"47":2}}],["1s",{"2":{"25":1,"40":2}}],["1st",{"2":{"3":1,"48":2}}],["123",{"2":{"47":1}}],["120",{"2":{"47":2,"52":3}}],["121",{"2":{"47":2}}],["124",{"2":{"47":2}}],["12458",{"2":{"47":1}}],["128553",{"2":{"47":1}}],["122",{"2":{"47":4}}],["12",{"2":{"36":1,"37":2,"38":1,"52":1}}],["1258",{"2":{"47":1}}],["125",{"2":{"14":1}}],["129",{"2":{"14":1}}],["192526",{"2":{"47":1}}],["198644",{"2":{"47":1}}],["19",{"2":{"11":4,"47":1}}],["1500",{"2":{"20":1}}],["15227",{"2":{"47":1}}],["152",{"2":{"11":2}}],["15",{"2":{"9":1,"21":1,"36":2,"51":1,"52":3}}],["14",{"2":{"36":1,"37":1,"38":1}}],["143",{"2":{"14":1}}],["145",{"2":{"4":2}}],["144",{"2":{"4":2}}],["1318",{"2":{"47":1}}],["134473",{"2":{"47":1}}],["13",{"2":{"36":1}}],["130",{"2":{"14":1}}],["133",{"2":{"4":1}}],["132",{"2":{"4":1,"11":2}}],["139",{"2":{"3":2}}],["1",{"2":{"3":1,"9":3,"13":1,"15":2,"18":2,"19":1,"20":11,"21":2,"23":2,"25":1,"26":1,"27":13,"28":9,"29":11,"35":1,"36":2,"37":70,"38":11,"46":1,"47":39,"50":1,"51":2,"52":7}}],["109",{"2":{"47":1}}],["107",{"2":{"47":2}}],["104",{"2":{"47":1}}],["108879",{"2":{"47":1}}],["108",{"2":{"11":1,"47":1}}],["100",{"2":{"11":4,"21":2,"29":10,"38":1,"52":3,"53":1}}],["105",{"2":{"10":3,"14":4,"47":1,"52":1}}],["10",{"2":{"3":6,"16":3,"36":1,"37":2,"38":1,"51":4,"52":6}}],["4th",{"2":{"48":2}}],["499331",{"2":{"47":1}}],["496358",{"2":{"47":1}}],["497255",{"2":{"47":1}}],["493901",{"2":{"47":1}}],["49",{"2":{"37":1,"38":2}}],["482606",{"2":{"47":1}}],["483422",{"2":{"47":1}}],["48",{"2":{"37":1}}],["47064",{"2":{"47":1}}],["473",{"2":{"44":3}}],["47",{"2":{"37":1}}],["42424",{"2":{"47":1}}],["42",{"2":{"37":1}}],["41423",{"2":{"47":1}}],["410684",{"2":{"47":1}}],["41",{"2":{"37":1}}],["4",{"2":{"37":2,"48":2,"52":10}}],["467339",{"2":{"47":1}}],["461563",{"2":{"47":1}}],["46",{"2":{"4":6,"8":1,"9":1,"10":1,"11":1,"37":1}}],["453531",{"2":{"47":1}}],["45",{"2":{"3":6,"11":3,"36":1,"37":1,"51":1,"52":4}}],["40663",{"2":{"47":1}}],["40177",{"2":{"47":1}}],["40",{"2":{"3":5,"36":1,"37":1,"52":2}}],["44827",{"2":{"47":1}}],["444697",{"2":{"47":1}}],["442938",{"2":{"47":1}}],["442978",{"2":{"47":1}}],["44",{"2":{"3":5,"37":1,"52":1}}],["43373",{"2":{"47":1}}],["43",{"2":{"3":4,"37":1,"52":1}}],["697381",{"2":{"47":1}}],["636877",{"2":{"47":1}}],["631967",{"2":{"47":1}}],["683562",{"2":{"47":1}}],["686",{"2":{"3":1}}],["65",{"2":{"38":1}}],["658",{"2":{"3":1}}],["611534",{"2":{"47":1}}],["61",{"2":{"38":2}}],["6×14",{"2":{"37":1}}],["601835",{"2":{"47":1}}],["60",{"2":{"21":3,"22":1,"36":1,"38":2,"52":2}}],["6",{"2":{"10":3,"14":3,"20":1,"37":2,"51":3}}],["660",{"2":{"3":1}}],["~",{"2":{"3":2,"4":1,"30":1,"44":3}}],["└",{"2":{"3":2,"4":1,"44":3}}],["┌",{"2":{"3":2,"4":1,"44":3}}],["569353",{"2":{"47":1}}],["569794",{"2":{"47":1}}],["56",{"2":{"38":2}}],["562",{"2":{"3":2,"4":1}}],["57",{"2":{"38":3}}],["572",{"2":{"3":1}}],["54076",{"2":{"47":1}}],["54",{"2":{"37":1,"38":2}}],["53045",{"2":{"47":1}}],["538295",{"2":{"47":1}}],["539916",{"2":{"47":1}}],["53",{"2":{"37":1,"38":2}}],["518502",{"2":{"47":1}}],["51",{"2":{"37":2,"38":2}}],["55267",{"2":{"47":1}}],["55",{"2":{"36":1,"37":2,"38":2,"52":1}}],["55881",{"2":{"47":1}}],["558",{"2":{"3":3}}],["581573",{"2":{"47":1}}],["589237",{"2":{"47":1}}],["585649",{"2":{"47":1}}],["585131",{"2":{"47":1}}],["58701",{"2":{"47":1}}],["58",{"2":{"14":1,"38":1}}],["5",{"2":{"11":4,"14":1,"36":2,"38":1,"47":3,"51":5,"52":4}}],["523034",{"2":{"47":1}}],["52",{"2":{"3":1,"14":1,"37":3,"38":2}}],["59",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1,"38":1}}],["508684",{"2":{"47":1}}],["501974",{"2":{"47":1}}],["50",{"2":{"3":5,"10":4,"14":4,"21":1,"29":5,"36":1,"37":3,"38":3,"51":3,"52":2}}],["2nd",{"2":{"48":2}}],["2+360",{"2":{"47":1}}],["278986",{"2":{"47":1}}],["270",{"2":{"47":1}}],["271",{"2":{"47":2}}],["279212",{"2":{"47":1}}],["27",{"2":{"36":1,"47":1}}],["269",{"2":{"47":1}}],["268",{"2":{"47":1}}],["267",{"2":{"47":1}}],["267186",{"2":{"47":1}}],["266",{"2":{"47":1}}],["264581",{"2":{"47":1}}],["264",{"2":{"47":1}}],["263",{"2":{"47":1}}],["263391",{"2":{"47":1}}],["262",{"2":{"47":1}}],["265",{"2":{"47":1}}],["26531",{"2":{"47":1}}],["265991",{"2":{"47":1}}],["26t21",{"2":{"44":4}}],["26t20",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1}}],["26",{"2":{"36":1,"38":1,"47":1}}],["248",{"2":{"47":1}}],["247",{"2":{"47":1}}],["246",{"2":{"47":1}}],["245",{"2":{"47":1}}],["244",{"2":{"47":1}}],["242",{"2":{"47":1}}],["241",{"2":{"47":1}}],["240",{"2":{"47":1}}],["24",{"2":{"36":1,"38":1,"47":1}}],["243",{"2":{"30":1,"47":1}}],["239",{"2":{"47":2}}],["231998",{"2":{"47":1}}],["23",{"2":{"36":1,"47":1}}],["230",{"2":{"11":1}}],["226094",{"2":{"47":1}}],["22",{"2":{"36":1,"38":1,"47":1}}],["29619",{"2":{"47":1}}],["295",{"2":{"36":1}}],["290",{"2":{"36":1}}],["29",{"2":{"36":2,"47":1}}],["28571",{"2":{"47":1}}],["285",{"2":{"36":1}}],["280",{"2":{"36":1}}],["28",{"2":{"10":3,"36":1,"38":1,"47":1}}],["25396",{"2":{"47":1}}],["25",{"2":{"9":1,"11":1,"36":2,"47":3,"52":1}}],["21878",{"2":{"47":1}}],["21",{"2":{"36":2,"47":1}}],["21908",{"2":{"47":1}}],["219",{"2":{"10":1}}],["216467",{"2":{"47":1}}],["216914",{"2":{"47":1}}],["216",{"2":{"9":1}}],["214",{"2":{"8":1}}],["2",{"2":{"3":1,"10":2,"11":2,"13":1,"14":1,"15":2,"18":2,"19":1,"20":1,"26":1,"27":2,"28":1,"29":5,"35":1,"37":4,"38":3,"39":2,"46":1,"47":8,"48":2,"50":1,"51":3,"52":10}}],["201766",{"2":{"47":1}}],["2012",{"0":{"10":1},"2":{"10":1,"44":1}}],["202739",{"2":{"47":1}}],["2022",{"2":{"21":1,"24":1}}],["2020",{"0":{"11":1},"2":{"11":1,"44":1}}],["2024",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1,"44":4}}],["2000",{"0":{"9":1},"2":{"9":1,"44":1}}],["20",{"2":{"3":9,"9":2,"36":1,"38":1,"47":1,"51":3,"52":9}}],["joinpath",{"2":{"3":1}}],["juliain",{"2":{"53":3}}],["juliaisingeoregion",{"2":{"51":1}}],["juliaisgeoregion",{"2":{"4":1}}],["juliaextractgrid",{"2":{"48":2}}],["juliandata",{"2":{"47":1}}],["julialon",{"2":{"47":1}}],["juliaa",{"2":{"51":1}}],["juliaaddgeoregions",{"2":{"43":2}}],["juliaabstractlandsea",{"2":{"23":1}}],["juliatemplategeoregions",{"2":{"42":1}}],["juliatemplategeoregion",{"2":{"42":1}}],["juliatablepolyregions",{"2":{"31":1}}],["juliatablerectregions",{"2":{"31":1}}],["juliatablegeoregions",{"2":{"30":1,"32":1}}],["juliaresetgeoregions",{"2":{"44":2}}],["juliaregiongrid",{"2":{"39":2,"40":1}}],["juliarectregion",{"2":{"3":1}}],["juliaggrd",{"2":{"37":1,"47":1}}],["juliageo",{"2":{"36":1,"37":1,"38":1,"47":1}}],["juliageoregion",{"2":{"7":1,"14":2,"24":1}}],["juliagetlandsea",{"2":{"21":1}}],["juliasmoothlsm",{"2":{"29":1}}],["juliasmooth",{"2":{"29":4}}],["juliacoordgeoregion",{"2":{"15":2}}],["juliacheckgrid",{"2":{"0":1}}],["juliacheckpoint",{"2":{"0":1}}],["juliausing",{"2":{"13":1,"19":1,"26":1,"33":1,"35":1,"41":1,"46":1,"50":1}}],["julia",{"2":{"7":1,"16":5,"44":3,"51":1,"52":1}}],["juliapolyregion",{"2":{"3":1}}],["julia>",{"2":{"3":3,"4":3,"5":2,"8":1,"9":1,"10":1,"11":1,"30":2}}],["juliajulia>",{"2":{"3":2,"4":1,"5":2,"8":1,"9":1,"10":1,"11":1,"16":1,"30":1}}],["jl",{"0":{"1":1,"24":1},"2":{"3":21,"4":9,"5":1,"7":3,"8":2,"9":1,"10":1,"11":1,"16":1,"17":1,"21":1,"22":1,"23":2,"25":2,"30":3,"39":1,"44":20,"48":1,"49":4,"51":2,"53":1}}],["ggrd",{"2":{"36":1,"37":1,"38":6,"47":3,"48":4}}],["gausssian",{"2":{"21":1,"29":5}}],["gaussian",{"2":{"21":1,"25":1,"29":5}}],["green",{"2":{"52":4}}],["greatly",{"2":{"18":1}}],["grid=false",{"2":{"47":1}}],["gridpoint",{"2":{"40":1}}],["grids",{"2":{"39":2}}],["gridded",{"0":{"34":1,"45":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1,"46":1,"47":1,"48":1},"2":{"37":1,"39":1,"40":6,"48":2}}],["grid",{"2":{"0":5,"7":1,"25":1,"28":1,"38":6,"40":2}}],["gf",{"2":{"9":6,"36":1}}],["gives",{"2":{"40":3}}],["given",{"2":{"7":1,"9":1,"10":1,"11":1,"15":2,"29":3,"40":2,"51":1}}],["github",{"2":{"16":1}}],["githubusercontent",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["giorgi",{"0":{"9":1},"2":{"9":1,"31":3,"44":1}}],["gt",{"2":{"7":1,"9":1,"29":1}}],["global",{"2":{"5":2,"7":2,"8":1,"18":2,"28":1,"45":1,"47":1}}],["globe",{"2":{"3":4,"8":1,"30":1}}],["glb",{"2":{"3":11,"5":2,"7":2,"8":6,"9":1,"10":1,"11":1,"14":1,"20":1,"21":1,"27":1,"30":4,"43":1,"47":1,"51":1,"52":5}}],["got",{"2":{"30":1}}],["go",{"2":{"2":1,"12":1,"34":1,"40":1}}],["gw",{"2":{"0":3}}],["generated",{"2":{"34":1,"39":1,"44":1,"48":1,"53":1}}],["generally",{"2":{"7":1,"16":1,"21":1,"29":5}}],["getlandsea",{"2":{"18":1,"20":1,"21":1,"27":3}}],["getting",{"0":{"17":1}}],["get",{"2":{"16":1,"17":1,"25":1}}],["geometrybasics",{"2":{"49":1}}],["geo",{"2":{"14":2,"15":4,"20":2,"21":2,"27":3,"36":1,"37":1,"38":2,"39":4,"47":2,"51":5,"52":17,"53":6}}],["geoplottingdata",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["geographical",{"2":{"7":2,"40":1,"53":1}}],["geographic",{"2":{"7":1,"49":1,"52":1}}],["geoid",{"2":{"4":4,"14":3,"21":4,"22":1,"43":1}}],["georegion",{"0":{"3":1,"4":1,"5":1,"7":1,"12":1,"14":1,"42":1,"47":1,"49":1,"51":1,"52":2},"1":{"13":1,"14":1,"15":1,"50":1,"51":1,"52":1,"53":1},"2":{"2":1,"3":28,"4":9,"5":3,"7":17,"8":3,"9":2,"10":2,"11":2,"12":1,"14":9,"15":8,"18":1,"21":4,"23":3,"24":1,"25":2,"36":1,"37":4,"38":1,"39":4,"40":5,"43":5,"44":1,"45":1,"47":2,"48":4,"51":7,"52":5,"53":13}}],["georegions",{"0":{"1":1,"2":1,"6":1,"8":1,"24":1,"30":1,"31":1,"32":1,"33":1,"34":1,"41":1,"43":1,"44":1},"1":{"3":1,"4":1,"5":1,"6":1,"9":1,"10":1,"11":1,"31":1,"32":1,"35":1,"36":1,"37":1,"38":1,"39":1,"42":1,"43":1,"44":1},"2":{"0":2,"3":29,"4":12,"5":3,"6":2,"7":9,"8":4,"9":5,"10":5,"11":5,"13":1,"14":1,"15":2,"16":5,"17":1,"18":1,"19":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"29":2,"30":12,"31":9,"32":6,"33":1,"35":1,"39":2,"40":1,"41":1,"42":2,"43":3,"44":34,"46":1,"48":2,"49":2,"50":1,"51":2,"52":2}}],["ge",{"2":{"0":3}}],["gs",{"2":{"0":3}}],["gn",{"2":{"0":3}}],["our",{"2":{"47":1}}],["output",{"2":{"39":2}}],["out",{"2":{"17":1,"18":1,"38":2}}],["outside",{"2":{"0":4,"23":2}}],["odata",{"2":{"47":3,"48":6}}],["otlat",{"2":{"38":4}}],["otlon",{"2":{"38":4}}],["other",{"2":{"23":1,"28":1,"52":2}}],["otherwise",{"2":{"21":1,"37":1}}],["old",{"2":{"29":1,"47":1}}],["olsm",{"2":{"29":1}}],["obvious",{"2":{"51":1}}],["object",{"2":{"24":1}}],["obtained",{"2":{"18":1}}],["ocean",{"2":{"21":1,"23":1,"25":1,"51":2}}],["overwriting",{"2":{"44":3}}],["overwrite",{"2":{"42":3}}],["over",{"0":{"20":1},"2":{"21":1,"38":1}}],["own",{"2":{"18":1,"23":1}}],["option",{"2":{"18":4}}],["options",{"2":{"18":2,"22":1}}],["opendap",{"2":{"18":3,"21":1}}],["open",{"2":{"17":1}}],["on",{"2":{"18":1,"24":1,"29":6,"38":1,"39":2,"40":1,"47":1,"48":2,"52":1}}],["onlycustom",{"2":{"30":3,"32":2}}],["onlycustom=true",{"2":{"30":1}}],["only",{"2":{"7":1,"9":1,"10":1,"11":1,"25":1,"30":1,"32":1,"40":1,"44":1,"45":1,"48":2}}],["ones",{"2":{"38":1}}],["one",{"2":{"6":2,"40":1,"41":2,"42":1,"44":3}}],["once",{"2":{"2":1,"18":2}}],["original",{"2":{"40":1,"44":3}}],["oro",{"2":{"29":4}}],["orographic",{"2":{"20":1,"22":1,"23":1}}],["order",{"2":{"14":1,"48":2}}],["or",{"2":{"3":2,"4":2,"7":1,"16":1,"17":1,"21":1,"23":1,"39":5,"49":1,"53":6}}],["off",{"2":{"29":2}}],["often",{"2":{"25":1,"49":1}}],["of",{"0":{"6":1,"8":1,"25":1,"30":1,"31":1,"33":1,"38":1,"44":1,"47":1},"1":{"9":1,"10":1,"11":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1},"2":{"0":17,"2":1,"3":8,"4":2,"5":1,"6":1,"7":14,"8":1,"10":1,"12":1,"14":2,"15":11,"16":2,"18":2,"21":8,"22":1,"23":6,"25":4,"28":1,"29":16,"30":1,"31":2,"34":1,"37":1,"38":4,"39":5,"40":15,"41":1,"42":2,"43":3,"44":3,"48":11,"51":7,"53":3}}],["03007",{"2":{"47":1}}],["0372909",{"2":{"47":1}}],["0618885",{"2":{"47":1}}],["06757",{"2":{"47":1}}],["0878672",{"2":{"47":1}}],["09131",{"2":{"47":1}}],["0126277",{"2":{"47":1}}],["0147337",{"2":{"47":1}}],["01",{"2":{"44":4}}],["016",{"2":{"3":1}}],["00827",{"2":{"47":1}}],["00",{"2":{"44":4}}],["0s",{"2":{"25":1,"40":1}}],["0574435",{"2":{"47":1}}],["05",{"2":{"20":1,"27":3,"28":2}}],["055",{"2":{"3":2}}],["07",{"2":{"3":15,"4":6,"8":1,"9":1,"10":1,"11":1,"44":4}}],["0",{"2":{"0":4,"3":18,"7":2,"8":5,"9":4,"10":11,"11":16,"14":18,"20":7,"21":2,"23":2,"25":1,"27":6,"28":4,"29":13,"37":88,"38":28,"43":5,"47":151,"51":21,"52":7,"53":2}}],["scatter",{"2":{"38":2,"51":2}}],["ssa",{"2":{"36":1}}],["space",{"2":{"48":1}}],["spot",{"2":{"34":1}}],["specifications",{"2":{"31":1}}],["specific",{"0":{"31":1},"2":{"45":1}}],["specified",{"2":{"7":2}}],["speeds",{"2":{"18":1}}],["smoothlsm",{"2":{"29":1}}],["smooth=true",{"2":{"27":2}}],["smoothed",{"2":{"25":1,"27":2,"28":2,"29":5}}],["smooth",{"0":{"27":1},"2":{"21":6,"29":11}}],["smoothing",{"0":{"25":1,"28":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"18":1,"21":2,"25":6,"28":4,"29":17}}],["smaller",{"2":{"18":1,"52":1}}],["side",{"2":{"53":1}}],["significant",{"2":{"48":2}}],["size",{"2":{"38":1}}],["similarly",{"2":{"32":1}}],["simple",{"2":{"15":1,"45":1}}],["simply",{"2":{"7":1,"21":1,"42":1,"51":1}}],["since",{"2":{"16":1,"52":1}}],["slat",{"2":{"15":8,"20":9,"38":6,"47":9,"51":6,"52":10}}],["slon",{"2":{"15":8,"20":9,"38":6,"47":11,"51":6,"52":10}}],["system",{"2":{"15":1}}],["srx",{"2":{"10":6}}],["srex",{"0":{"10":1},"2":{"31":3}}],["src",{"2":{"3":2,"4":1,"30":1,"44":6}}],["suitable",{"2":{"39":2}}],["suppose",{"2":{"45":1}}],["supports",{"2":{"22":1}}],["supertype",{"0":{"23":1},"2":{"7":1,"23":3,"40":1}}],["surface",{"2":{"21":1,"22":2,"25":1}}],["such",{"2":{"18":1,"21":1,"39":2,"40":1,"51":1}}],["suggestions",{"2":{"17":1}}],["sub",{"2":{"48":2}}],["subregion",{"2":{"7":1}}],["subtypes",{"2":{"7":1,"23":2,"40":1}}],["subset",{"2":{"3":2,"7":1,"23":1,"53":2}}],["shifted",{"2":{"51":1}}],["show",{"2":{"30":1,"32":1}}],["should",{"2":{"6":1,"7":1,"44":1}}],["shape",{"0":{"15":1},"2":{"3":2,"7":6,"10":2,"11":2,"14":2,"15":11,"37":1,"38":1,"40":1,"47":2,"51":2}}],["say",{"2":{"45":1}}],["satellite",{"2":{"39":1}}],["sas",{"2":{"38":1}}],["saving",{"0":{"18":1},"1":{"19":1,"20":1,"21":1},"2":{"18":1}}],["saved",{"2":{"21":1,"29":4}}],["savegeo=false",{"2":{"20":1,"27":1}}],["savelsd=false",{"2":{"20":1,"27":3}}],["savelsd",{"2":{"18":1,"21":4}}],["save",{"2":{"3":6,"21":2,"48":1}}],["same",{"2":{"3":1,"40":1,"42":1}}],["sample",{"2":{"3":1,"47":1}}],["s",{"2":{"3":3,"5":1,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"15":2,"40":1,"43":1,"47":1,"51":1}}],["step",{"2":{"47":1}}],["steps",{"2":{"2":1,"34":1}}],["structure",{"2":{"40":3}}],["struct",{"2":{"23":1}}],["string",{"2":{"3":2,"7":3}}],["starting",{"2":{"22":1}}],["start",{"2":{"3":1}}],["st",{"2":{"3":4,"7":2}}],["stops",{"2":{"0":2,"53":2}}],["semi",{"2":{"21":1,"29":5}}],["separation",{"2":{"21":1}}],["seconds",{"2":{"21":1}}],["section",{"2":{"2":1,"12":1,"34":1}}],["servers",{"2":{"18":1,"21":1}}],["seneviratne",{"0":{"10":1},"2":{"10":1,"44":1}}],["sea",{"0":{"18":1,"22":1,"25":1,"28":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1},"2":{"4":3,"18":2,"20":1,"21":1,"23":3,"24":1,"25":5,"27":1,"28":2,"29":15}}],["see",{"2":{"3":3,"4":3,"6":1,"15":1,"18":2,"28":1,"34":1,"37":1,"51":3,"52":2}}],["sets",{"2":{"18":1}}],["setup",{"0":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1},"2":{"41":1}}],["set",{"2":{"0":4,"3":1,"29":3,"30":1,"32":1,"42":1}}],["some",{"2":{"47":1}}],["sometimes",{"2":{"4":1}}],["sort",{"2":{"25":1}}],["so",{"2":{"2":1,"21":1,"23":1,"37":1,"40":1,"41":1}}],["soon",{"2":{"1":1,"16":1}}],["source",{"2":{"0":2,"3":2,"4":1,"7":1,"14":1,"15":2,"21":1,"23":1,"24":1,"29":5,"30":1,"31":2,"32":1,"39":2,"40":1,"42":1,"43":1,"44":1,"48":2,"53":3}}],["southernmost",{"2":{"15":1}}],["south",{"2":{"0":3,"7":1,"38":1}}],["°",{"2":{"0":4}}],["eye",{"2":{"51":1,"52":1}}],["equatorial",{"2":{"51":2}}],["equal",{"2":{"3":1}}],["eao",{"2":{"51":4}}],["each",{"2":{"28":1}}],["easy",{"2":{"49":1,"51":1}}],["easily",{"2":{"49":1}}],["easier",{"2":{"18":1}}],["eas",{"2":{"11":4}}],["ease",{"2":{"3":2}}],["easternmost",{"2":{"15":1}}],["east",{"2":{"0":3,"7":1,"11":1}}],["edges",{"2":{"28":1}}],["era5",{"2":{"29":1}}],["era5reanalysis",{"2":{"23":1}}],["errors",{"2":{"28":1}}],["error",{"2":{"0":4,"3":4,"4":5,"5":2,"14":2,"30":1,"43":1,"53":2}}],["elaborated",{"2":{"40":1}}],["elevation",{"2":{"22":1}}],["elements",{"2":{"3":1}}],["ellipsoid",{"2":{"22":1}}],["every",{"2":{"21":2,"29":10}}],["even",{"2":{"10":1}}],["etopo",{"2":{"21":4,"22":1,"24":1,"25":1}}],["etc",{"2":{"17":1}}],["et",{"0":{"10":1,"11":1},"2":{"10":1,"11":1,"44":2}}],["either",{"2":{"7":1}}],["essd",{"2":{"44":1}}],["essence",{"2":{"7":1}}],["est",{"2":{"7":1}}],["ensure",{"2":{"48":2}}],["enter",{"2":{"41":1}}],["entire",{"2":{"18":1}}],["entirely",{"2":{"6":1,"44":1}}],["enough",{"2":{"21":1,"29":5}}],["end",{"2":{"3":1,"18":1,"36":1,"37":1,"38":1}}],["except",{"2":{"40":1}}],["expressed",{"2":{"25":1}}],["export",{"2":{"23":1}}],["extension",{"2":{"52":1}}],["extend",{"2":{"23":2}}],["extendhigh=",{"2":{"20":2,"27":3,"28":2,"47":2}}],["extendlow=",{"2":{"20":2,"27":3,"28":2,"47":2}}],["extra",{"2":{"44":3}}],["extractgrid",{"2":{"45":1,"47":1,"48":2}}],["extracting",{"0":{"45":1},"1":{"46":1,"47":1,"48":1},"2":{"12":1,"40":1,"48":2}}],["extract",{"2":{"7":1,"14":1,"15":2,"18":2,"40":1,"45":1,"47":1,"48":2}}],["extracts",{"2":{"4":1,"14":1,"43":1,"48":2}}],["extracted",{"2":{"3":2,"48":1}}],["exist",{"2":{"42":1}}],["existing",{"0":{"5":1},"2":{"5":1}}],["exists",{"2":{"3":1,"4":2,"14":1,"43":1}}],["exampleremovegeoregion",{"2":{"53":1}}],["exampleresetgeoregions",{"2":{"44":1}}],["examplemask",{"2":{"38":1}}],["examplef2",{"2":{"28":1}}],["examplefig",{"2":{"20":1,"27":1,"47":1}}],["examplegeo",{"2":{"20":1,"27":1,"52":1}}],["exampleaspect",{"2":{"15":1}}],["exampleblon",{"2":{"15":1}}],["example",{"0":{"20":1,"27":1,"36":1,"37":1},"2":{"3":1,"37":1,"38":1,"51":2}}],["examplesmooth",{"2":{"28":1}}],["examples",{"0":{"1":1},"2":{"23":2}}],["e",{"2":{"3":4,"4":1,"7":3,"8":1,"9":1,"10":1,"11":1,"14":2,"15":4,"21":1,"40":1,"42":1,"43":1,"47":1,"51":1}}],["much",{"2":{"18":2}}],["must",{"2":{"3":3,"7":1,"42":2}}],["minimize",{"2":{"48":1}}],["minimum",{"2":{"15":4,"20":6,"38":4,"47":6,"51":4}}],["missing",{"2":{"5":2}}],["modification",{"2":{"48":1}}],["more",{"0":{"31":1},"2":{"6":1,"18":1,"39":1}}],["monitoring",{"2":{"3":2}}],["markersize=20",{"2":{"51":2}}],["margin",{"2":{"0":2}}],["map",{"2":{"52":1}}],["mapping",{"2":{"40":3}}],["maps",{"2":{"40":1}}],["matrix",{"2":{"37":1,"47":2}}],["matching",{"2":{"30":1}}],["may",{"2":{"16":1,"23":1,"25":1}}],["make",{"2":{"16":1}}],["manager",{"2":{"16":1}}],["many",{"2":{"10":1}}],["maximum",{"2":{"15":4,"20":6,"38":4,"47":6,"51":4}}],["masks",{"0":{"27":1}}],["mask",{"0":{"18":1,"22":1,"25":1,"28":1,"38":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1},"2":{"7":1,"18":1,"20":1,"21":1,"23":3,"24":1,"25":3,"27":1,"28":1,"29":15,"37":2,"38":8,"40":3}}],["master",{"2":{"3":2}}],["main",{"2":{"7":1,"13":1,"16":2,"19":1,"26":1,"35":1,"46":1,"50":1}}],["memory",{"2":{"48":1}}],["meant",{"2":{"48":1}}],["meaning",{"2":{"28":1}}],["means",{"2":{"0":4,"25":1}}],["me",{"2":{"16":1,"17":1}}],["meters",{"2":{"23":1}}],["meta",{"2":{"3":2}}],["methoderror",{"2":{"30":1}}],["method",{"2":{"3":2,"14":1,"15":2,"30":2,"32":1,"39":4,"53":3}}],["mdash",{"2":{"0":2,"3":2,"4":1,"7":1,"14":1,"15":2,"21":1,"23":1,"24":1,"29":2,"30":1,"31":2,"32":1,"39":2,"40":1,"42":1,"43":1,"44":1,"48":2,"53":3}}],["fname",{"2":{"32":1,"43":2}}],["f2",{"2":{"28":4}}],["faster",{"2":{"18":1}}],["false",{"2":{"3":2,"4":2,"8":1,"9":1,"10":1,"11":1,"14":1,"18":1,"21":6,"23":1,"29":1,"30":1,"31":6,"32":1,"43":1,"44":2,"47":2,"51":2,"52":2,"53":3}}],["fall",{"2":{"0":4}}],["fear",{"2":{"42":1}}],["features",{"2":{"16":1}}],["feel",{"2":{"17":2}}],["frame",{"2":{"51":1}}],["francisco",{"0":{"9":1},"2":{"9":1,"44":1}}],["free",{"2":{"17":2}}],["from",{"0":{"9":1,"10":1,"11":1,"28":1,"41":1,"43":1},"1":{"42":1,"43":1,"44":1},"2":{"3":2,"7":1,"9":1,"10":1,"11":1,"15":1,"18":5,"21":1,"22":1,"25":3,"28":1,"38":1,"39":2,"40":1,"43":1,"48":4,"49":1}}],["floats",{"2":{"40":2}}],["float32",{"2":{"21":1}}],["float",{"2":{"7":4}}],["float64",{"2":{"3":3,"10":1,"11":1,"14":1,"37":2,"38":1,"47":4,"51":1}}],["fully",{"2":{"22":1}}],["full",{"2":{"7":1}}],["functionality",{"2":{"23":1}}],["function",{"2":{"0":2,"4":2,"5":1,"14":1,"15":1,"18":2,"21":1,"29":2,"30":1,"31":3,"32":1,"42":1,"43":2,"44":1,"45":1,"48":2,"49":1,"51":1}}],["functions",{"2":{"0":2,"3":1}}],["ft",{"2":{"3":4,"7":2,"21":1,"40":3}}],["filtering",{"2":{"25":1,"29":1}}],["filter",{"2":{"21":1,"38":1}}],["file",{"0":{"32":1,"43":1},"2":{"18":3,"21":2,"30":1,"42":1,"43":3,"44":3}}],["files",{"0":{"42":1},"2":{"3":2,"32":2,"42":4,"44":4}}],["fixed",{"2":{"48":1}}],["fix",{"2":{"16":1}}],["find",{"2":{"16":1}}],["figure",{"2":{"15":1,"17":1,"20":1,"27":1,"28":1,"38":1,"47":1,"51":1,"52":1}}],["fig",{"2":{"15":4,"20":4,"27":5,"38":4,"47":4,"51":4,"52":4}}],["fields",{"2":{"7":1,"15":2,"23":1,"40":2}}],["field",{"2":{"7":3,"15":1,"23":1,"37":1,"38":1,"40":3}}],["first",{"2":{"3":1,"25":1,"42":1}}],["follows",{"2":{"21":1,"22":2,"29":5,"40":1}}],["following",{"2":{"3":3,"7":3,"8":1,"9":1,"10":1,"11":1,"14":1,"22":1,"23":4,"38":1,"39":2,"40":4,"43":1,"47":1,"51":1}}],["folder",{"2":{"21":1,"42":2}}],["for",{"0":{"1":1,"24":1},"2":{"0":10,"3":7,"5":2,"6":1,"7":3,"8":1,"9":1,"10":1,"11":1,"14":1,"15":8,"16":1,"18":4,"20":1,"21":1,"23":4,"24":1,"25":1,"32":1,"34":1,"39":2,"40":4,"42":1,"45":2,"48":2}}],["format",{"2":{"0":2,"30":1,"31":2,"32":1}}],["found",{"2":{"0":2,"40":1}}],["lsm",{"2":{"20":1,"23":1,"27":3,"28":2,"29":7}}],["lsd",{"2":{"20":7,"27":12,"28":7,"29":6}}],["let",{"0":{"47":1},"2":{"47":1,"51":2,"52":2}}],["letter",{"2":{"9":1,"10":1,"11":1}}],["length",{"2":{"47":2}}],["length=11",{"2":{"47":2}}],["length=19",{"2":{"20":1,"27":3,"28":2}}],["length=16",{"2":{"20":1}}],["leniency",{"2":{"0":4}}],["levels=range",{"2":{"20":2,"27":3,"28":2,"47":2}}],["lt",{"2":{"7":1,"29":1}}],["literate",{"2":{"39":1,"44":1,"48":1,"53":1}}],["linewidth=2",{"2":{"20":1,"27":3,"28":2}}],["linewidth=5",{"2":{"15":2,"20":2,"47":2,"51":1,"52":9}}],["linewidth=3",{"2":{"15":1,"51":1,"52":1}}],["linestyle=",{"2":{"52":4}}],["lines",{"2":{"15":3,"20":3,"27":3,"28":2,"38":3,"47":4,"51":2,"52":10}}],["limits=",{"2":{"15":1,"20":2,"27":3,"28":2,"38":1,"47":2,"51":1,"52":1}}],["like",{"2":{"4":1}}],["listing",{"0":{"32":1},"2":{"31":1}}],["listings",{"0":{"30":1},"1":{"31":1,"32":1}}],["lists",{"0":{"31":1},"2":{"30":1,"44":1}}],["listed",{"2":{"25":1}}],["list",{"0":{"6":1,"8":1,"33":1,"44":1},"1":{"9":1,"10":1,"11":1},"2":{"3":6,"4":2,"6":1,"8":1,"30":1,"31":1,"32":1,"41":1,"43":1,"44":2}}],["loaded",{"0":{"28":1},"2":{"23":1,"25":1}}],["load",{"2":{"21":1}}],["loading",{"0":{"18":1},"1":{"19":1,"20":1,"21":1},"2":{"18":2}}],["local",{"2":{"18":1,"21":1}}],["log",{"2":{"5":1,"21":1,"29":5}}],["logging",{"2":{"3":4}}],["longer",{"2":{"18":1}}],["longitude",{"2":{"0":8,"3":1,"15":5,"20":2,"21":1,"23":1,"27":3,"28":2,"29":5,"37":1,"39":4,"40":2,"47":1,"48":2,"51":1}}],["lon",{"2":{"3":4,"15":3,"20":2,"23":1,"27":3,"28":2,"36":2,"37":2,"38":5,"39":4,"40":6,"42":1,"47":5}}],["largely",{"2":{"40":1}}],["larger",{"2":{"25":1}}],["landseaflat",{"2":{"23":3,"29":2}}],["landseatopo",{"2":{"23":4,"24":1,"29":2}}],["landsea",{"0":{"20":1,"24":1},"2":{"18":2,"21":5,"23":4,"24":2}}],["land",{"0":{"18":1,"22":1,"25":1,"28":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1,"26":1,"27":1,"28":1,"29":1},"2":{"18":2,"20":1,"21":2,"23":4,"24":1,"25":7,"27":1,"28":2,"29":15}}],["layout",{"2":{"15":1,"20":1,"27":1,"28":1,"38":1,"47":1,"51":1,"52":1}}],["later",{"2":{"40":1}}],["latency",{"2":{"18":2}}],["latest",{"2":{"16":3}}],["lat",{"2":{"3":4,"15":3,"20":2,"23":1,"27":3,"28":2,"36":2,"37":2,"38":5,"39":4,"40":6,"42":1,"47":5}}],["latitude",{"2":{"0":8,"3":1,"15":5,"20":1,"21":1,"23":1,"27":1,"28":1,"29":5,"37":1,"39":4,"40":4,"47":1,"48":2}}],["last",{"2":{"3":2,"42":1}}],["wrf",{"2":{"39":1}}],["wtgs84",{"2":{"22":1}}],["way",{"2":{"49":1}}],["was",{"2":{"39":1,"44":1,"48":1,"53":1}}],["waiting",{"2":{"16":1}}],["want",{"2":{"16":1,"41":2}}],["waf",{"2":{"9":4}}],["warning",{"2":{"3":2,"4":1,"44":3,"48":2}}],["worth",{"2":{"25":1}}],["working",{"2":{"16":1}}],["work",{"2":{"3":2,"4":1,"30":1,"44":6}}],["wong",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["would",{"2":{"4":1}}],["width=225",{"2":{"27":3}}],["width=350",{"2":{"20":2,"28":2,"47":2}}],["width=750",{"2":{"15":1,"38":1,"51":1,"52":1}}],["wishes",{"2":{"44":1}}],["wish",{"2":{"6":1,"44":1,"49":1}}],["will",{"2":{"3":8,"4":3,"7":1,"14":2,"23":1,"29":7,"30":1,"32":1,"40":3,"43":1}}],["without",{"2":{"16":1,"29":1}}],["within",{"2":{"0":4,"7":1,"21":1,"23":1,"37":3,"38":1,"40":2,"48":2,"51":3,"52":1,"53":5}}],["with",{"2":{"0":4,"4":2,"7":1,"14":2,"18":1,"20":1,"23":2,"29":1,"31":1,"40":2,"43":2,"44":3,"47":1,"49":2,"51":1,"52":1}}],["wholly",{"2":{"52":1}}],["while",{"2":{"15":1}}],["which",{"2":{"7":2,"18":1,"21":1,"22":1,"23":1,"25":1,"30":1,"40":3,"43":1,"45":1,"49":1,"51":1}}],["where",{"2":{"3":2,"14":1,"25":1,"29":1,"40":1,"48":4}}],["when",{"2":{"3":1,"7":1,"18":1,"25":2,"28":1,"42":1,"48":2,"49":1}}],["what",{"0":{"7":1,"40":1},"2":{"0":2,"15":1,"41":1,"48":2,"51":1}}],["w",{"2":{"3":3,"7":3,"8":1,"9":1,"10":1,"11":1,"14":1,"15":2,"40":1,"43":1,"47":1,"51":1}}],["well",{"2":{"31":1,"44":1}}],["we",{"2":{"2":1,"3":2,"4":2,"5":1,"7":1,"12":1,"14":1,"15":2,"20":1,"23":1,"34":1,"37":1,"38":2,"40":1,"43":1,"44":1,"45":4,"47":2,"48":4,"49":2,"51":4,"52":2,"53":4}}],["westernmost",{"2":{"15":1}}],["western",{"2":{"9":1}}],["west",{"2":{"0":3}}],["big",{"2":{"52":10,"53":1}}],["b",{"2":{"51":5,"52":8}}],["back",{"2":{"44":2}}],["batch",{"2":{"42":1}}],["base",{"2":{"53":3}}],["based",{"2":{"29":3,"39":2,"47":1}}],["basically",{"2":{"40":1}}],["basic",{"2":{"2":1,"30":1,"34":1,"40":1}}],["branch",{"2":{"16":1}}],["brief",{"2":{"0":1}}],["buffer",{"2":{"25":1}}],["but",{"2":{"25":1,"40":1,"41":1,"51":1,"52":1}}],["bugs",{"2":{"16":1}}],["build",{"2":{"5":1}}],["blue",{"2":{"38":1,"51":1,"52":2}}],["blurred",{"2":{"21":1}}],["bleed",{"2":{"28":1}}],["black",{"2":{"15":1,"20":1,"27":3,"28":2,"38":1,"47":2,"51":1,"52":1}}],["blat",{"2":{"15":5,"38":2,"52":8}}],["blon",{"2":{"15":4,"38":2,"52":8}}],["besides",{"2":{"31":1}}],["best",{"2":{"28":1}}],["before",{"2":{"29":1,"48":2}}],["below",{"2":{"25":1,"51":2,"52":1}}],["beneath",{"2":{"22":1}}],["becomes",{"2":{"21":1}}],["because",{"2":{"15":1,"18":1,"28":1,"37":1}}],["bedrock",{"2":{"21":5,"22":2}}],["better",{"2":{"18":1}}],["between",{"0":{"15":1,"27":1},"2":{"7":2,"15":1,"18":1,"21":1,"34":1}}],["been",{"2":{"3":1,"4":1,"18":1,"25":1}}],["be",{"2":{"2":1,"3":14,"4":2,"5":2,"7":5,"14":2,"16":1,"18":1,"21":2,"25":1,"28":1,"29":7,"30":2,"32":2,"37":1,"40":1,"42":3,"52":1,"53":4}}],["being",{"2":{"0":2,"4":1,"14":1}}],["box",{"2":{"51":1}}],["both",{"2":{"7":1,"21":1,"23":1,"30":1,"40":1}}],["bounding",{"2":{"37":1,"51":1}}],["boundaries",{"2":{"28":1}}],["boundary",{"2":{"7":4}}],["bound",{"2":{"0":12,"3":2,"7":1,"15":9,"38":1}}],["bounds",{"0":{"15":1},"2":{"0":11,"3":2,"7":1,"8":1,"9":1,"10":1,"11":1,"14":1,"15":3,"23":2,"43":1,"47":1,"51":5}}],["bool=false",{"2":{"42":1}}],["boolean",{"2":{"4":1}}],["bool",{"2":{"0":4,"3":4,"4":2,"7":2,"21":5,"29":1,"30":2,"31":5,"44":1,"53":6}}],["by",{"2":{"0":2,"3":2,"7":6,"8":1,"9":1,"10":1,"11":1,"15":2,"16":1,"25":2,"34":1,"38":1,"41":1,"49":1,"51":2,"52":1,"53":7}}],[">",{"2":{"0":2,"3":2,"4":1,"14":1,"15":2,"21":1,"29":5,"30":1,"31":2,"32":1,"39":2,"48":2,"53":3}}],["randn",{"2":{"47":1}}],["raw",{"2":{"13":1,"19":1,"26":1,"27":5,"28":4,"29":1,"35":1,"46":1,"50":1}}],["runner",{"2":{"44":6}}],["running",{"2":{"0":2,"53":2}}],["roughly",{"2":{"21":2,"29":10}}],["rw",{"2":{"0":6}}],["reexported",{"2":{"49":1}}],["relevant",{"2":{"40":1}}],["release",{"2":{"16":2}}],["reduce",{"2":{"48":1}}],["red",{"2":{"38":1,"47":2,"52":3}}],["redefined",{"2":{"2":1}}],["recommended",{"2":{"25":2}}],["rectg",{"2":{"53":3}}],["rectgrid",{"0":{"36":1},"2":{"36":1,"39":2,"40":4}}],["recttest",{"2":{"43":1}}],["rectlist",{"2":{"3":1,"30":2,"44":2}}],["rectangle",{"2":{"3":5,"30":1}}],["rectilinear",{"2":{"3":4,"7":8,"8":1,"9":1,"10":1,"15":3,"37":2,"38":1,"39":2,"40":3,"43":1}}],["rectregions",{"2":{"3":1,"31":1,"34":1,"42":1}}],["rectregion",{"2":{"3":8,"4":2,"7":4,"9":1,"15":7,"20":1,"27":1,"30":2,"40":1,"52":1,"53":2}}],["refer",{"2":{"23":1}}],["repository",{"2":{"16":1}}],["regarding",{"2":{"12":1,"23":2}}],["registry",{"2":{"16":1}}],["regid",{"2":{"3":6}}],["regionmask",{"2":{"39":1,"40":4}}],["regiongrids",{"2":{"34":1}}],["regiongrid",{"0":{"34":1,"40":1,"45":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1,"46":1,"47":1,"48":1},"2":{"34":1,"36":1,"37":2,"38":1,"39":3,"40":6,"45":1,"47":2,"48":4}}],["region2",{"2":{"3":1}}],["regions",{"0":{"10":1,"11":1},"2":{"3":1,"7":1,"44":1}}],["region",{"2":{"0":12,"3":13,"7":3,"8":2,"9":2,"10":2,"11":2,"14":2,"15":2,"30":2,"38":3,"40":6,"43":2,"45":3,"47":2,"48":2,"49":3,"51":2,"52":7}}],["resh",{"2":{"26":1}}],["resolution",{"2":{"20":1,"21":3}}],["resolved",{"2":{"18":1}}],["resize",{"2":{"15":1,"20":1,"27":1,"28":1,"38":1,"47":1,"51":1,"52":1}}],["resl",{"2":{"13":1,"19":1,"35":1,"46":1,"50":1}}],["result",{"2":{"7":1}}],["resetting",{"2":{"44":1}}],["resetgeoregions",{"2":{"6":1,"30":3,"33":1,"44":2}}],["reset",{"0":{"6":1,"44":1},"2":{"6":1,"44":5}}],["respectively",{"2":{"0":2,"3":1,"25":1,"40":1}}],["removed",{"2":{"5":1}}],["removegeoregion",{"2":{"5":4,"53":4}}],["remove",{"2":{"5":1}}],["removing",{"0":{"5":1},"2":{"2":1}}],["retrieval",{"2":{"22":1}}],["retrieved",{"2":{"32":1}}],["retrieve",{"2":{"15":1,"21":1}}],["retrieving",{"0":{"14":1,"20":1},"2":{"3":2,"8":1,"9":1,"10":1,"11":1,"25":1,"28":1}}],["return",{"2":{"21":2}}],["returnlsd",{"2":{"21":2}}],["returns",{"2":{"4":1,"14":1,"15":2,"45":1}}],["returning",{"2":{"4":1}}],["returned",{"2":{"0":1}}],["reanalysis",{"2":{"39":1}}],["readdlm",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["reading",{"0":{"12":1,"43":1},"1":{"13":1,"14":1,"15":1}}],["read",{"2":{"3":2,"4":1,"30":1,"43":2,"44":3}}],["real",{"2":{"0":18,"3":3,"7":2,"15":6,"29":5,"39":6,"40":3,"48":4,"53":3}}],["re",{"2":{"0":6}}],["rs",{"2":{"0":6}}],["rnd",{"2":{"4":6}}],["rn",{"2":{"0":6}}],["cgeo",{"2":{"53":4}}],["c",{"2":{"51":7}}],["cesm",{"2":{"39":1}}],["central",{"2":{"10":1,"45":1,"47":1}}],["circular",{"2":{"28":1}}],["child",{"2":{"53":10}}],["choice",{"2":{"42":1}}],["choose",{"2":{"21":1}}],["checkif",{"2":{"4":1}}],["checking",{"2":{"3":3,"4":3}}],["checkgrid",{"2":{"0":1}}],["check",{"2":{"0":2,"3":2,"4":1,"5":1,"49":2,"53":3}}],["checkpoint",{"2":{"0":1}}],["clat",{"2":{"13":1,"15":1,"19":1,"20":1,"26":1,"27":3,"28":2,"35":1,"38":1,"46":1,"47":2,"50":1,"51":1,"52":1}}],["closest",{"2":{"30":1}}],["closer",{"2":{"21":1,"29":5}}],["closed",{"2":{"3":1,"42":1}}],["clon",{"2":{"13":1,"15":1,"19":1,"20":1,"26":1,"27":3,"28":2,"35":1,"38":1,"46":1,"47":2,"50":1,"51":1,"52":1}}],["cst",{"2":{"13":2,"19":2,"26":2,"35":2,"46":2,"50":2}}],["cna",{"2":{"10":4}}],["currently",{"2":{"8":1}}],["custom",{"0":{"32":1,"43":1},"2":{"6":1,"30":2,"31":6,"32":2,"43":1,"44":2}}],["calculate",{"2":{"51":1}}],["called",{"2":{"30":1}}],["calling",{"2":{"25":1}}],["call",{"2":{"6":1,"9":1,"10":1,"11":1,"25":1,"28":1,"44":1}}],["case",{"2":{"51":1,"52":1}}],["causes",{"2":{"28":1}}],["cairomakie",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["candidates",{"2":{"30":1}}],["cannot",{"2":{"5":1}}],["can",{"2":{"2":1,"3":4,"4":1,"5":1,"6":1,"7":1,"16":2,"18":3,"21":2,"23":1,"25":1,"30":1,"32":1,"34":1,"42":2,"43":1,"44":2,"51":1,"52":1}}],["created",{"2":{"21":1,"25":1}}],["create",{"2":{"15":2}}],["creates",{"2":{"3":2,"39":2}}],["creating",{"0":{"2":1},"1":{"3":1,"4":1,"5":1,"6":1},"2":{"2":1,"34":1}}],["corroborate",{"2":{"51":1}}],["corresponding",{"2":{"29":1}}],["corresponds",{"2":{"21":2,"29":10}}],["collect",{"2":{"47":2}}],["color=",{"2":{"15":1,"20":1,"27":3,"28":2,"38":1,"47":4,"51":1,"52":10}}],["copies",{"2":{"42":1}}],["copy",{"2":{"42":2}}],["coarser",{"2":{"20":1}}],["coast",{"2":{"13":5,"19":5,"26":5,"35":5,"46":5,"50":5}}],["coastlines",{"2":{"20":1}}],["coastline",{"2":{"13":1,"18":1,"19":1,"21":1,"25":1,"26":1,"35":1,"46":1,"50":1}}],["cost",{"2":{"18":1}}],["coordgeoregion",{"2":{"15":4,"20":1,"38":1,"47":1,"51":1,"52":5}}],["coordinate",{"2":{"15":1}}],["coordinates",{"2":{"0":1,"3":2,"7":1,"15":2,"42":1,"51":5}}],["comprises",{"2":{"25":1}}],["comparison",{"0":{"27":1},"2":{"20":1}}],["comes",{"2":{"18":1}}],["comments",{"2":{"17":1}}],["comments=true",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["command",{"2":{"16":1}}],["com",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["coming",{"2":{"1":1}}],["covers",{"2":{"8":1}}],["covered",{"2":{"0":1}}],["could",{"2":{"7":1}}],["concern",{"2":{"51":1}}],["converts",{"2":{"22":1}}],["contourf",{"2":{"20":2,"27":3,"28":2,"47":2}}],["contain",{"2":{"7":2,"23":2,"40":3}}],["containing",{"2":{"3":2,"23":4,"24":1,"39":4,"43":1,"44":1,"48":6,"53":2}}],["contains",{"2":{"0":1,"7":1,"8":1,"37":1,"40":1,"48":2}}],["consider",{"2":{"38":1,"52":1}}],["considered",{"2":{"5":1,"7":1,"28":1}}],["construct",{"2":{"3":1}}],["number",{"2":{"53":1}}],["ndata",{"2":{"47":1,"48":3}}],["nlat",{"2":{"47":2}}],["nlon",{"2":{"47":2}}],["nca",{"2":{"47":3}}],["nws",{"2":{"37":1}}],["nwn",{"2":{"14":3,"15":1}}],["next",{"2":{"47":1}}],["need",{"2":{"18":1,"25":1}}],["netcdf",{"2":{"18":1,"21":2}}],["necessary",{"2":{"16":1}}],["new",{"0":{"3":1},"2":{"16":1,"45":1,"47":1}}],["nans",{"2":{"40":1}}],["nan",{"2":{"23":2,"37":21,"38":9,"47":163}}],["nasaprecipitation",{"2":{"23":1}}],["natgeo",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["natural",{"2":{"7":1,"52":1}}],["name",{"2":{"3":10,"7":2,"8":2,"9":2,"10":2,"11":2,"14":2,"30":1,"43":3,"47":2,"51":2}}],["n",{"2":{"3":3,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"15":2,"40":1,"43":1,"47":1,"48":15,"51":1,"53":2}}],["now",{"2":{"22":1,"51":2,"52":2}}],["non",{"2":{"7":1,"39":1,"40":2}}],["no",{"2":{"0":4,"4":1,"14":1,"15":1,"30":1,"43":1,"51":1}}],["northern",{"2":{"47":1}}],["northernmost",{"2":{"15":1}}],["northwest",{"2":{"14":1}}],["north",{"2":{"0":3,"7":1,"10":1,"14":1,"45":1}}],["note",{"2":{"51":1}}],["noticeable",{"2":{"18":1}}],["nothing",{"2":{"13":1,"19":1,"25":1,"26":1,"29":4,"30":1,"31":2,"32":1,"35":1,"46":1,"48":1,"50":1}}],["not",{"2":{"0":3,"3":2,"4":5,"5":2,"14":2,"23":1,"25":2,"42":1,"48":2,"51":1,"52":1,"53":2}}],["nbsp",{"2":{"0":2,"3":2,"4":1,"7":1,"14":1,"15":2,"21":1,"23":1,"24":1,"29":2,"30":1,"31":2,"32":1,"39":2,"40":1,"42":1,"43":1,"44":1,"48":2,"53":3}}],["dimensions",{"2":{"48":3}}],["dimension",{"2":{"48":11}}],["displayed",{"2":{"30":1,"32":1}}],["display",{"2":{"30":1,"31":7,"32":1}}],["distant",{"2":{"25":1}}],["distance",{"2":{"18":1}}],["directory",{"2":{"42":1}}],["direction",{"2":{"21":2,"29":10}}],["directly",{"0":{"28":1},"2":{"18":3,"25":1,"28":3}}],["different",{"2":{"31":1,"34":1}}],["differentiate",{"2":{"7":1}}],["differences",{"2":{"34":1,"40":1}}],["difference",{"0":{"15":1},"2":{"7":1,"15":1}}],["dataset",{"0":{"25":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"18":4,"21":4,"23":3,"25":3,"28":1,"29":7}}],["datasets",{"0":{"18":1,"22":1},"1":{"19":1,"20":1,"21":1,"23":1,"24":1},"2":{"23":2,"39":1}}],["data",{"0":{"34":1,"45":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1,"46":1,"47":1,"48":1},"2":{"7":1,"18":5,"21":4,"22":2,"23":3,"37":2,"38":1,"40":9,"45":4,"47":3,"48":7,"49":1}}],["dealing",{"2":{"49":1}}],["derived",{"2":{"38":1}}],["degree",{"2":{"25":1}}],["denote",{"2":{"49":1}}],["denotes",{"2":{"15":1,"25":2}}],["denoted",{"2":{"7":2}}],["delimitedfiles",{"2":{"13":1,"19":1,"26":1,"35":1,"46":1,"50":1}}],["detect",{"2":{"51":1}}],["determining",{"2":{"23":1}}],["determine",{"2":{"3":2,"49":1,"52":1}}],["detailed",{"2":{"48":2}}],["details",{"2":{"5":1,"6":1,"18":1}}],["default",{"0":{"33":1},"2":{"3":4,"7":2,"8":1,"21":1,"31":5,"44":2}}],["define",{"0":{"47":1},"2":{"3":1,"41":1,"42":1,"47":2,"51":1}}],["defined",{"0":{"12":1,"14":1},"1":{"13":1,"14":1,"15":1},"2":{"0":2,"2":1,"3":4,"5":2,"8":1,"9":4,"10":4,"11":4,"15":2,"30":2,"31":2,"32":1,"38":1,"42":1,"44":1,"45":1,"51":1,"52":2,"53":7}}],["defining",{"0":{"3":1},"2":{"3":3,"7":1,"40":8,"42":3}}],["depot",{"2":{"3":1}}],["describing",{"2":{"40":4}}],["describe",{"2":{"0":1}}],["description",{"2":{"0":1}}],["dot",{"2":{"52":4}}],["doubly",{"2":{"28":1}}],["done",{"2":{"18":1}}],["don",{"2":{"18":1,"41":1}}],["downloading",{"2":{"18":1}}],["downloaded",{"2":{"18":1,"21":3}}],["download",{"2":{"13":1,"18":2,"19":1,"26":1,"35":1,"46":1,"50":1}}],["domains",{"2":{"9":1,"10":1,"11":1}}],["domain",{"2":{"7":1,"8":1,"47":1}}],["documenter",{"2":{"5":1}}],["docstring",{"2":{"5":2}}],["do",{"2":{"0":1,"40":1,"41":1,"44":1,"45":1}}],["ilat",{"2":{"40":1}}],["ilon",{"2":{"40":1}}],["ipcc",{"2":{"31":1}}],["implementing",{"2":{"25":1}}],["imagefiltering",{"2":{"21":1,"25":1}}],["ice",{"2":{"21":1,"22":2}}],["ids",{"2":{"9":1,"10":1,"11":1}}],["idtrc`",{"2":{"4":1}}],["identified",{"2":{"7":2,"8":1}}],["identifier",{"2":{"3":3,"4":3,"7":2}}],["identify",{"2":{"3":2,"4":1,"14":1}}],["id",{"2":{"3":19,"4":9,"7":3,"8":4,"9":4,"10":4,"11":4,"14":10,"30":1,"43":5,"47":3,"51":3}}],["iterable",{"2":{"48":1}}],["iterations",{"2":{"21":4,"29":20}}],["iteratively",{"2":{"18":1}}],["its",{"2":{"15":1,"18":1,"23":1}}],["itself",{"2":{"7":3,"28":1}}],["iturbide",{"0":{"11":1},"2":{"11":1,"44":1}}],["it",{"0":{"4":1,"49":1},"1":{"50":1,"51":1,"52":1,"53":1},"2":{"2":2,"5":1,"17":1,"20":1,"21":1,"25":2,"28":1,"31":1,"32":1,"37":1,"43":1,"51":5}}],["if",{"2":{"0":10,"3":8,"4":8,"14":2,"16":1,"17":2,"18":1,"21":4,"23":1,"29":2,"30":1,"31":5,"32":1,"34":1,"42":1,"43":1,"44":3,"48":1,"49":2,"51":3,"52":1,"53":7}}],["isingeoregion",{"2":{"49":1,"51":3,"52":5}}],["isca",{"2":{"39":1}}],["issue",{"2":{"17":1}}],["isnan",{"2":{"38":4}}],["isn",{"2":{"16":1}}],["isgeoregion",{"2":{"4":5}}],["is360",{"2":{"3":2,"7":1,"8":1,"9":1,"10":1,"11":1,"14":1,"43":1,"47":1,"51":1}}],["is180",{"2":{"3":2,"7":1,"8":1,"9":1,"10":1,"11":1,"14":1,"43":1,"47":1,"51":1}}],["is",{"0":{"4":1,"7":1,"40":1,"49":1,"51":1,"52":1},"1":{"50":1,"51":1,"52":1,"53":1},"2":{"0":11,"3":16,"4":9,"5":1,"7":6,"14":3,"15":6,"18":4,"21":4,"23":9,"25":3,"28":3,"29":9,"31":6,"32":1,"37":3,"38":1,"39":2,"40":2,"43":1,"45":1,"47":1,"48":6,"49":3,"51":11,"52":3,"53":7}}],["i",{"2":{"0":1,"3":1,"4":1,"14":1,"15":2,"16":2,"21":1,"42":2}}],["inlat",{"2":{"38":4}}],["inlon",{"2":{"38":4}}],["indices",{"2":{"40":4}}],["indicate",{"2":{"37":1}}],["independently",{"2":{"4":1}}],["indeed",{"2":{"3":2,"52":1}}],["inputs",{"2":{"25":1}}],["including",{"2":{"30":1,"32":1}}],["includes",{"2":{"22":1}}],["increase",{"2":{"21":2,"29":10}}],["initial",{"2":{"18":1}}],["installed",{"2":{"16":1}}],["installation",{"0":{"16":1}}],["instructions",{"0":{"16":1}}],["instead",{"2":{"4":1,"29":1}}],["inside",{"0":{"32":1,"52":1},"2":{"3":2,"49":2,"51":1}}],["ints",{"2":{"40":3}}],["int64",{"2":{"36":1}}],["int",{"2":{"21":4,"29":15,"48":2,"53":1}}],["integer",{"2":{"25":1}}],["integral",{"2":{"5":1}}],["intersection",{"2":{"47":1}}],["interesting",{"2":{"48":2}}],["interest",{"0":{"47":1},"2":{"18":1,"21":1,"25":1,"39":2}}],["interested",{"2":{"17":1,"45":1,"48":2}}],["interface",{"0":{"0":1}}],["into",{"2":{"3":2,"21":3,"22":1,"23":1,"28":1,"29":4,"42":1,"48":2}}],["information",{"0":{"12":1,"14":1},"1":{"13":1,"14":1,"15":1},"2":{"3":6,"4":1,"8":1,"9":1,"10":1,"11":1,"12":1,"14":2,"18":1,"24":1,"40":3,"43":3,"44":1,"48":2}}],["info",{"2":{"3":12,"4":4,"8":1,"9":1,"10":1,"11":1,"44":1}}],["in",{"0":{"12":1,"15":1,"43":1,"49":1,"51":1},"1":{"13":1,"14":1,"15":1,"50":1,"51":1,"52":1,"53":1},"2":{"0":7,"2":1,"3":9,"4":4,"7":3,"8":1,"9":3,"10":3,"11":3,"12":1,"14":1,"15":4,"16":1,"17":2,"21":5,"23":1,"29":20,"30":1,"31":2,"32":2,"34":1,"37":1,"38":1,"39":1,"40":4,"41":1,"42":2,"43":2,"44":4,"45":3,"47":1,"48":7,"51":5,"52":1,"53":3}}],["ts4",{"2":{"52":5,"53":1}}],["ts3",{"2":{"52":4,"53":1}}],["ts2",{"2":{"52":5,"53":1}}],["ts1",{"2":{"52":5,"53":1}}],["takes",{"2":{"45":1}}],["tablepolyregions",{"2":{"31":2}}],["tablerectregions",{"2":{"31":2}}],["tablegeoregions",{"2":{"30":3,"31":1,"32":1,"33":1}}],["tabular",{"0":{"30":1},"1":{"31":1,"32":1},"2":{"30":1,"31":2,"32":1}}],["textfiles",{"2":{"42":1}}],["templategeoregion",{"2":{"42":1}}],["templategeoregions",{"2":{"32":1,"42":1}}],["templates",{"0":{"41":1},"1":{"42":1,"43":1,"44":1},"2":{"42":1}}],["template",{"0":{"42":1},"2":{"32":1,"42":3}}],["test",{"2":{"3":9,"30":2,"47":1,"51":1,"52":4,"53":1}}],["ticks",{"2":{"47":1}}],["tiltlist",{"2":{"44":2}}],["tiltregion",{"2":{"3":2,"4":2,"53":3}}],["title=",{"2":{"20":2,"27":3,"28":2}}],["time",{"2":{"18":1}}],["two",{"2":{"18":2,"25":1,"34":1}}],["t",{"2":{"16":1,"18":1,"41":1}}],["type",{"0":{"24":1},"2":{"7":13,"9":1,"10":1,"11":1,"21":1,"23":3,"24":1,"25":1,"30":1,"38":1,"39":2,"40":3,"49":2}}],["types",{"2":{"7":3,"23":3,"34":1,"40":3}}],["tf",{"2":{"4":3}}],["txt",{"2":{"3":2,"13":1,"19":1,"26":1,"30":3,"35":1,"43":1,"44":6,"46":1,"50":1}}],["tpl",{"2":{"3":8,"30":1}}],["trivial",{"2":{"51":1}}],["tropical",{"2":{"43":1}}],["trp",{"2":{"43":3}}],["transparent",{"2":{"40":1}}],["trying",{"2":{"17":1}}],["true",{"2":{"3":10,"4":4,"8":1,"9":1,"10":1,"11":1,"14":1,"18":1,"21":3,"23":1,"29":2,"30":1,"31":9,"32":1,"43":1,"44":1,"47":1,"51":3,"52":2,"53":2}}],["trc",{"2":{"3":14,"5":1,"30":1}}],["tlat",{"2":{"0":6,"53":1}}],["tlon",{"2":{"0":6,"53":1}}],["topographic",{"2":{"29":3}}],["topography",{"2":{"22":3,"29":5}}],["toggle",{"2":{"18":1}}],["touch",{"2":{"17":1}}],["to",{"0":{"34":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1},"2":{"0":9,"3":17,"4":10,"5":2,"6":1,"7":3,"9":2,"10":2,"11":2,"14":2,"15":1,"16":5,"17":4,"18":4,"20":1,"21":6,"23":2,"25":3,"27":1,"28":3,"29":12,"30":2,"31":1,"32":3,"37":1,"38":3,"40":6,"41":3,"42":4,"43":1,"44":4,"47":2,"48":4,"49":5,"51":5,"52":2,"53":5}}],["tutorials",{"2":{"0":1}}],["thus",{"2":{"28":2,"40":1}}],["than",{"2":{"18":1}}],["that",{"2":{"0":4,"3":2,"4":1,"7":3,"8":1,"14":1,"15":1,"18":1,"21":1,"22":3,"23":1,"25":2,"28":2,"29":3,"37":2,"38":2,"40":2,"41":1,"42":2,"48":4,"51":6,"52":2,"53":4}}],["though",{"2":{"10":1}}],["through",{"2":{"2":1,"12":1,"34":1}}],["throw=false",{"2":{"4":1,"51":3,"52":4}}],["throw=true",{"2":{"0":2}}],["throws",{"2":{"4":1}}],["thrown",{"2":{"0":2,"3":2,"4":2,"14":2,"43":1,"53":2}}],["throw",{"2":{"0":4,"3":1,"4":3,"53":5}}],["threshold",{"2":{"0":6}}],["they",{"2":{"25":1}}],["these",{"2":{"23":1,"32":1}}],["them",{"2":{"10":1,"41":1,"52":1}}],["then",{"2":{"0":2,"3":2,"4":2,"14":1,"18":1,"21":1,"29":2,"42":1,"43":2,"47":1,"53":2}}],["therefore",{"2":{"5":1}}],["there",{"2":{"0":4,"15":1,"18":1}}],["their",{"2":{"0":1,"23":1,"25":1,"30":1,"40":1,"47":1}}],["the",{"0":{"6":1,"15":1,"23":1,"24":1,"25":1,"38":1,"44":1,"47":1},"1":{"26":1,"27":1,"28":1,"29":1},"2":{"0":23,"2":1,"3":55,"4":14,"5":3,"6":1,"7":27,"8":7,"9":7,"10":7,"11":7,"14":12,"15":29,"16":9,"18":21,"21":18,"22":6,"23":20,"24":1,"25":12,"28":7,"29":41,"30":1,"31":1,"32":3,"34":4,"37":7,"38":8,"39":7,"40":27,"42":7,"43":9,"44":8,"45":4,"47":8,"48":10,"49":4,"51":17,"52":4,"53":6}}],["this",{"2":{"0":1,"2":1,"3":3,"4":5,"8":1,"9":1,"10":1,"11":1,"12":1,"14":1,"16":1,"18":2,"23":1,"28":1,"34":1,"37":1,"39":3,"42":1,"43":1,"44":1,"45":1,"48":2,"49":2,"51":3,"52":2,"53":1}}],["atlantic",{"2":{"51":2}}],["at",{"2":{"28":1,"51":3}}],["auto",{"2":{"20":4,"27":6,"28":4,"47":4}}],["automatically",{"2":{"3":1}}],["again",{"2":{"18":1}}],["ach",{"2":{"20":1,"27":1}}],["aceh",{"0":{"20":1},"2":{"20":1,"27":1}}],["accessed",{"2":{"16":1}}],["actual",{"2":{"15":1,"18":1}}],["ax3",{"2":{"27":3}}],["ax2",{"2":{"20":3,"27":3,"28":3}}],["ax1",{"2":{"20":4,"27":3,"28":3}}],["axis",{"2":{"15":1,"20":2,"27":3,"28":2,"38":1,"47":2,"51":1,"52":1}}],["ax",{"2":{"15":4,"38":6,"47":9,"51":5,"52":11}}],["able",{"2":{"51":1}}],["about",{"0":{"14":1},"2":{"51":1}}],["abstractarray",{"2":{"48":3}}],["abstractrange",{"2":{"39":4}}],["abstractlandsea",{"0":{"23":1},"2":{"23":4}}],["abstract",{"2":{"7":1,"23":3,"40":1}}],["abstractstring",{"2":{"3":8,"4":1,"5":1,"7":2,"14":1,"21":1,"32":1,"42":1,"43":1}}],["american",{"2":{"45":1}}],["america",{"2":{"10":1,"14":1,"47":1}}],["amp",{"0":{"9":1},"2":{"9":1,"44":1}}],["africa",{"2":{"9":1}}],["adapted",{"0":{"9":1,"10":1,"11":1},"2":{"9":1,"10":1,"11":1}}],["addgeoregions",{"2":{"42":1,"43":2}}],["additional",{"2":{"37":1}}],["adding",{"0":{"41":1},"1":{"42":1,"43":1,"44":1},"2":{"3":2}}],["added",{"2":{"3":3,"42":1}}],["add",{"2":{"3":2,"4":2,"9":1,"10":1,"11":1,"16":3,"18":1,"43":1}}],["available",{"0":{"8":1},"1":{"9":1,"10":1,"11":1},"2":{"8":1,"30":3,"31":3,"32":2,"40":1}}],["always",{"2":{"21":1,"28":1}}],["although",{"2":{"16":1}}],["al",{"0":{"10":1,"11":1},"2":{"10":1,"11":1,"44":2}}],["allocations",{"2":{"48":2}}],["allows",{"2":{"7":1,"38":1,"48":1,"49":2}}],["allfiles",{"2":{"30":2,"44":2}}],["allfiles=true",{"2":{"30":1,"33":1,"44":1}}],["all",{"0":{"33":1},"2":{"9":2,"10":2,"11":2,"30":4,"31":3,"32":2,"43":1,"44":1}}],["also",{"2":{"7":2,"23":1,"31":1,"32":1,"40":1,"47":1,"49":1,"51":1}}],["already",{"0":{"4":1},"2":{"3":5,"4":3}}],["assumed",{"2":{"37":1}}],["ask",{"2":{"17":1}}],["aspect",{"2":{"15":1,"20":3,"38":2,"47":3,"51":2}}],["asia",{"2":{"11":1,"38":1}}],["as",{"2":{"7":1,"8":1,"9":1,"10":1,"11":1,"16":2,"18":1,"21":1,"25":1,"31":2,"39":2,"40":2,"42":1,"44":1,"45":1,"48":1,"49":1,"51":1,"52":2}}],["around",{"2":{"25":1}}],["array",{"2":{"23":2,"29":5,"39":4,"40":4,"45":2,"48":8}}],["arcsecond",{"2":{"22":1}}],["arc",{"2":{"21":1}}],["argument",{"2":{"18":1,"30":1}}],["arguments",{"2":{"0":3,"3":4,"4":1,"14":1,"15":2,"21":2,"25":1,"29":10,"30":1,"31":2,"32":1,"39":4,"42":1,"43":1,"44":1,"48":2,"53":4}}],["areas",{"2":{"41":1}}],["are",{"2":{"7":3,"8":1,"9":2,"10":3,"11":2,"17":2,"18":1,"21":2,"25":2,"28":1,"30":1,"37":1,"38":1,"40":4,"45":1,"48":5,"51":3,"52":2}}],["arbitrary",{"2":{"7":1,"52":2}}],["ar6",{"0":{"11":1},"2":{"4":3,"11":6,"14":3,"15":1,"31":3,"37":1,"38":2,"44":1,"45":1,"47":3,"51":4}}],["anyway",{"2":{"51":1}}],["any",{"2":{"17":1,"29":1,"52":1}}],["answer",{"2":{"15":1,"40":1,"45":1}}],["another",{"2":{"3":1,"48":2,"49":1,"52":1}}],["an",{"0":{"5":1},"2":{"0":2,"3":3,"4":5,"5":2,"7":1,"14":2,"17":1,"21":1,"37":1,"38":1,"39":2,"40":4,"43":1,"48":5,"49":1,"51":1,"52":1,"53":2}}],["and",{"0":{"15":1,"18":1,"27":1},"1":{"19":1,"20":1,"21":1},"2":{"0":9,"2":1,"3":6,"5":1,"7":4,"15":11,"16":1,"17":1,"18":3,"20":1,"21":3,"22":1,"23":3,"25":3,"28":1,"29":1,"30":2,"31":1,"34":1,"38":2,"39":2,"40":5,"42":2,"43":1,"44":2,"45":2,"47":3,"48":5,"51":1,"52":4,"53":2}}],["aim",{"2":{"0":1}}],["a",{"0":{"3":1,"4":1,"7":1,"14":1,"15":1,"28":1,"32":1,"38":1,"40":1,"43":1,"49":1,"51":2,"52":2},"1":{"50":1,"51":1,"52":1,"53":1},"2":{"0":5,"2":1,"3":13,"4":3,"7":30,"8":1,"12":1,"14":1,"15":17,"16":1,"18":2,"21":4,"23":3,"24":1,"25":5,"28":1,"29":18,"30":1,"31":1,"34":1,"38":5,"39":6,"40":19,"41":1,"42":3,"45":4,"48":7,"49":3,"51":8,"52":4,"53":16}}],["apply",{"2":{"38":1}}],["applying",{"0":{"34":1},"1":{"35":1,"36":1,"37":1,"38":1,"39":1}}],["applied",{"2":{"28":1}}],["application",{"0":{"0":1}}],["api",{"0":{"21":1,"29":1,"39":1,"48":1,"53":1},"2":{"18":1,"25":1}}],["apis",{"0":{"0":1}}],["per",{"2":{"53":1}}],["periodic",{"2":{"28":1}}],["perform",{"2":{"4":1,"25":1,"29":5,"49":1}}],["performing",{"2":{"3":2}}],["pixels",{"2":{"21":2,"29":10}}],["pid",{"2":{"3":2,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"43":1,"47":1,"51":1}}],["pkg>",{"2":{"16":3}}],["practice",{"2":{"28":1}}],["priority",{"2":{"21":1}}],["predefined",{"0":{"33":1},"2":{"30":2,"31":3,"32":1,"44":1}}],["preexisting",{"2":{"25":1}}],["pressing",{"2":{"16":1}}],["previously",{"0":{"14":1}}],["prefix",{"2":{"9":1,"10":1,"11":1}}],["proceeding",{"2":{"48":2}}],["process",{"2":{"12":1}}],["prompt",{"2":{"16":1}}],["properties",{"2":{"3":2,"8":1,"9":1,"10":1,"11":1,"14":1,"30":1,"43":1,"47":1,"51":1}}],["program",{"2":{"0":2,"53":2}}],["programming",{"0":{"0":1}}],["put",{"2":{"7":1}}],["patch",{"2":{"16":1}}],["path",{"2":{"3":3,"21":3,"30":1,"42":3,"43":1}}],["paper",{"2":{"9":1,"10":1,"11":1}}],["packages",{"2":{"23":1}}],["package",{"2":{"5":1,"16":1,"49":2}}],["part",{"2":{"5":1,"40":1}}],["parid",{"2":{"3":4}}],["parent",{"2":{"3":4,"7":2,"8":1,"9":1,"10":1,"11":1,"14":1,"30":1,"40":2,"43":1,"47":1,"48":2,"51":1,"53":2}}],["page",{"2":{"0":1,"8":1,"18":2,"39":1,"44":1,"48":1,"53":1}}],["postulate",{"2":{"53":4}}],["possible",{"2":{"21":1,"31":1,"32":1}}],["pop",{"2":{"47":1}}],["polyg",{"2":{"53":3}}],["polygrid",{"0":{"37":1,"38":1},"2":{"37":2,"38":2,"39":2,"40":7,"47":1}}],["polygonops",{"2":{"49":1}}],["polygon",{"2":{"3":1,"42":1,"53":1}}],["polygonal",{"2":{"3":6,"7":4,"10":1,"11":1,"14":1,"15":1,"30":1,"47":1,"51":1}}],["polylist",{"2":{"3":1,"30":1,"44":2}}],["polyregions",{"2":{"3":3,"31":1,"34":1,"42":3}}],["polyregion",{"0":{"15":1},"2":{"3":6,"4":2,"7":6,"10":1,"11":1,"15":4,"30":1,"38":3,"40":1,"52":4,"53":3}}],["point2",{"2":{"7":1,"49":1,"51":3,"53":1}}],["points",{"2":{"3":3,"15":4,"23":2,"25":1,"29":1,"38":1,"39":5,"40":4,"49":1,"51":2,"53":1}}],["point",{"0":{"51":1},"2":{"0":7,"3":1,"10":1,"11":1,"14":1,"16":1,"23":1,"47":1,"49":3,"51":11,"53":3}}],["placeholder",{"2":{"48":1}}],["place",{"2":{"48":1}}],["plat",{"2":{"0":5}}],["plot",{"2":{"20":1,"38":1,"47":1,"52":1}}],["plotting",{"2":{"15":1}}],["plon",{"2":{"0":5}}],["please",{"2":{"3":1,"17":2,"18":1,"48":2}}]],"serializationVersion":2}';export{e as default}; diff --git a/dev/assets/chunks/VPLocalSearchBox.Cr2wnApA.js b/dev/assets/chunks/VPLocalSearchBox.0SAS8vGp.js similarity index 99% rename from dev/assets/chunks/VPLocalSearchBox.Cr2wnApA.js rename to dev/assets/chunks/VPLocalSearchBox.0SAS8vGp.js index 5480f0d5..e6a47499 100644 --- a/dev/assets/chunks/VPLocalSearchBox.Cr2wnApA.js +++ b/dev/assets/chunks/VPLocalSearchBox.0SAS8vGp.js @@ -1,4 +1,4 @@ -var kt=Object.defineProperty;var Ft=(a,e,t)=>e in a?kt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{X as Ot,s as ne,v as Ve,al as Rt,am as Ct,d as Mt,G as be,an as et,h as ye,ao as At,ap as Lt,x as Dt,aq as zt,y as Me,R as de,Q as we,ar as Pt,as as jt,Y as Vt,U as $t,a1 as Bt,o as Q,b as Wt,j as x,a2 as Kt,k as D,at as Jt,au as Ut,av as qt,c as Z,n as tt,e as _e,E as st,F as nt,a as he,t as fe,aw as Gt,p as Qt,l as Ht,ax as it,ay as Yt,ab as Zt,ah as Xt,az as es,_ as ts}from"./framework.D-rV3Mrg.js";import{u as ss,c as ns}from"./theme.CqgDa6Wc.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.BVSQWGnv.js"),[])};/*! +var kt=Object.defineProperty;var Ft=(a,e,t)=>e in a?kt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Ce=(a,e,t)=>Ft(a,typeof e!="symbol"?e+"":e,t);import{X as Ot,s as ne,v as Ve,al as Rt,am as Ct,d as Mt,G as be,an as et,h as ye,ao as At,ap as Lt,x as Dt,aq as zt,y as Me,R as de,Q as we,ar as Pt,as as jt,Y as Vt,U as $t,a1 as Bt,o as Q,b as Wt,j as x,a2 as Kt,k as D,at as Jt,au as Ut,av as qt,c as Z,n as tt,e as _e,E as st,F as nt,a as he,t as fe,aw as Gt,p as Qt,l as Ht,ax as it,ay as Yt,ab as Zt,ah as Xt,az as es,_ as ts}from"./framework.D-rV3Mrg.js";import{u as ss,c as ns}from"./theme.CHeUv5W_.js";const is={root:()=>Ot(()=>import("./@localSearchIndexroot.BoBh5vNr.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var vt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ie=vt.join(","),mt=typeof Element>"u",re=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},ke=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},rs=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},gt=function(e,t,s){if(ke(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ie));return t&&re.call(e,Ie)&&n.unshift(e),n=n.filter(s),n},bt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!ke(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),c=o.length?o:i.children,l=a(c,!0,s);s.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=re.call(i,Ie);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var f=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),v=!ke(f,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(f&&v){var b=a(f===!0?i.children:f.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},yt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||rs(e))&&!yt(e)?0:e.tabIndex},as=function(e,t){var s=ie(e);return s<0&&t&&!yt(e)?0:s},os=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},wt=function(e){return e.tagName==="INPUT"},cs=function(e){return wt(e)&&e.type==="hidden"},ls=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},us=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var c=e.parentElement,l=Ne(e);if(c&&!c.shadowRoot&&n(c)===!0)return rt(e);e.assignedSlot?e=e.assignedSlot:!c&&l!==e.ownerDocument?e=l.host:e=c}e=o}if(ps(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return rt(e);return!1},ms=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},bs=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,c=as(o,i),l=i?a(n.candidates):o;c===0?i?t.push.apply(t,l):t.push(o):s.push({documentOrder:r,tabIndex:c,item:n,isScope:i,content:l})}),s.sort(os).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},ys=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:$e.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:gs}):s=gt(e,t.includeContainer,$e.bind(null,t)),bs(s)},ws=function(e,t){t=t||{};var s;return t.getShadowRoot?s=bt([e],t.includeContainer,{filter:Fe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=gt(e,t.includeContainer,Fe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,Ie)===!1?!1:$e(t,e)},_s=vt.concat("iframe").join(","),Ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,_s)===!1?!1:Fe(t,e)};/*! diff --git a/dev/assets/chunks/theme.CqgDa6Wc.js b/dev/assets/chunks/theme.CHeUv5W_.js similarity index 99% rename from dev/assets/chunks/theme.CqgDa6Wc.js rename to dev/assets/chunks/theme.CHeUv5W_.js index 0512d571..5978e0b1 100644 --- a/dev/assets/chunks/theme.CqgDa6Wc.js +++ b/dev/assets/chunks/theme.CHeUv5W_.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Cr2wnApA.js","assets/chunks/framework.D-rV3Mrg.js"])))=>i.map(i=>d[i]); -import{d as _,o as a,c as u,r as c,n as N,a as j,t as I,b as $,w as f,e as h,T as pe,_ as g,u as Je,i as Ye,f as Xe,g as fe,h as y,j as p,k as r,p as B,l as H,m as q,q as le,s as T,v as O,x as ee,y as R,z as he,A as _e,B as Qe,C as Ze,D as W,F as M,E,G as Te,H as te,I as k,J as D,K as we,L as ne,M as K,N as Y,O as xe,P as Ie,Q as ce,R as Ne,S as Me,U as oe,V as et,W as tt,X as nt,Y as Ae,Z as me,$ as ot,a0 as st,a1 as at,a2 as rt,a3 as Ce,a4 as it,a5 as lt,a6 as ct}from"./framework.D-rV3Mrg.js";const ut=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(n){return(e,t)=>(a(),u("span",{class:N(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[j(I(e.text),1)])],2))}}),dt={key:0,class:"VPBackdrop"},vt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),$(pe,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",dt)):h("",!0)]),_:1}))}}),pt=g(vt,[["__scopeId","data-v-b06cdb19"]]),V=Je;function ft(n,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(n,e):(n(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ue(n){return/^\//.test(n)?n:`/${n}`}function be(n){const{pathname:e,search:t,hash:s,protocol:o}=new URL(n,"http://a.com");if(Ye(n)||n.startsWith("#")||!o.startsWith("http")||!Xe(e))return n;const{site:i}=V(),l=e.endsWith("/")||e.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return fe(l)}function Q({correspondingLink:n=!1}={}){const{site:e,localeIndex:t,page:s,theme:o,hash:i}=V(),l=y(()=>{var v,m;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((m=e.value.locales[t.value])==null?void 0:m.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,m])=>l.value.label===m.label?[]:{text:m.label,link:ht(m.link||(v==="root"?"/":`/${v}/`),o.value.i18nRouting!==!1&&n,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function ht(n,e,t,s){return e?n.replace(/\/$/,"")+ue(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):n}const _t=n=>(B("data-v-951cab6c"),n=n(),H(),n),mt={class:"NotFound"},bt={class:"code"},kt={class:"title"},$t=_t(()=>p("div",{class:"divider"},null,-1)),gt={class:"quote"},yt={class:"action"},Pt=["href","aria-label"],St=_({__name:"NotFound",setup(n){const{theme:e}=V(),{currentLang:t}=Q();return(s,o)=>{var i,l,d,v,m;return a(),u("div",mt,[p("p",bt,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",kt,I(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),$t,p("blockquote",gt,I(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",yt,[p("a",{class:"link",href:r(fe)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},I(((m=r(e).notFound)==null?void 0:m.linkText)??"Take me home"),9,Pt)])])}}}),Vt=g(St,[["__scopeId","data-v-951cab6c"]]);function Be(n,e){if(Array.isArray(n))return Z(n);if(n==null)return[];e=ue(e);const t=Object.keys(n).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ue(o))),s=t?n[t]:[];return Array.isArray(s)?Z(s):Z(s.items,s.base)}function Lt(n){const e=[];let t=0;for(const s in n){const o=n[s];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function Tt(n){const e=[];function t(s){for(const o of s)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(n),e}function de(n,e){return Array.isArray(e)?e.some(t=>de(n,t)):q(n,e.link)?!0:e.items?de(n,e.items):!1}function Z(n,e){return[...n].map(t=>{const s={...t},o=s.base||e;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=Z(s.items,o)),s})}function U(){const{frontmatter:n,page:e,theme:t}=V(),s=le("(min-width: 960px)"),o=T(!1),i=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Be(C,w):[]}),l=T(i.value);O(i,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(l.value=i.value)});const d=y(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),v=y(()=>m?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),m=y(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),L=y(()=>d.value&&s.value),b=y(()=>d.value?Lt(l.value):[]);function P(){o.value=!0}function S(){o.value=!1}function A(){o.value?S():P()}return{isOpen:o,sidebar:l,sidebarGroups:b,hasSidebar:d,hasAside:m,leftAside:v,isSidebarEnabled:L,open:P,close:S,toggle:A}}function wt(n,e){let t;ee(()=>{t=n.value?document.activeElement:void 0}),R(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}function It(n){const{page:e,hash:t}=V(),s=T(!1),o=y(()=>n.value.collapsed!=null),i=y(()=>!!n.value.link),l=T(!1),d=()=>{l.value=q(e.value.relativePath,n.value.link)};O([e,n,t],d),R(d);const v=y(()=>l.value?!0:n.value.items?de(e.value.relativePath,n.value.items):!1),m=y(()=>!!(n.value.items&&n.value.items.length));ee(()=>{s.value=!!(o.value&&n.value.collapsed)}),_e(()=>{(l.value||v.value)&&(s.value=!1)});function L(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:m,toggle:L}}function Nt(){const{hasSidebar:n}=U(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const ve=[];function He(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function ke(n){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:Mt(t),link:"#"+t.id,level:s}});return At(e,n)}function Mt(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function At(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(l=>l.level>=s&&l.level<=o),ve.length=0;for(const{element:l,link:d}of n)ve.push({element:l,link:d});const i=[];e:for(let l=0;l=0;v--){const m=n[v];if(m.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Qe(()=>{l(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,m=document.body.offsetHeight,L=Math.abs(d+v-m)<1,b=ve.map(({element:S,link:A})=>({link:A,top:Bt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,A)=>S.top-A.top);if(!b.length){l(null);return}if(d<1){l(null);return}if(L){l(b[b.length-1].link);return}let P=null;for(const{link:S,top:A}of b){if(A>d+Ze()+4)break;P=S}l(P)}function l(d){o&&o.classList.remove("active"),d==null?o=null:o=n.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Bt(n){let e=0;for(;n!==document.body;){if(n===null)return NaN;e+=n.offsetTop,n=n.offsetParent}return e}const Ht=["href","title"],Et=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(n){function e({target:t}){const s=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(s));o==null||o.focus({preventScroll:!0})}return(t,s)=>{const o=W("VPDocOutlineItem",!0);return a(),u("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,E(t.headers,({children:i,link:l,title:d})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},I(d),9,Ht),i!=null&&i.length?(a(),$(o,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ee=g(Et,[["__scopeId","data-v-3f927ebe"]]),Dt={class:"content"},Ft={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Ot=_({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=V(),s=Te([]);te(()=>{s.value=ke(e.value.outline??t.value.outline)});const o=T(),i=T();return Ct(o,i),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[p("div",Dt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",Ft,I(r(He)(r(t))),1),k(Ee,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),jt=g(Ot,[["__scopeId","data-v-b38bf2ff"]]),Ut={class:"VPDocAsideCarbonAds"},Gt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,s)=>(a(),u("div",Ut,[k(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),zt=n=>(B("data-v-6d7b3c46"),n=n(),H(),n),Kt={class:"VPDocAside"},Rt=zt(()=>p("div",{class:"spacer"},null,-1)),qt=_({__name:"VPDocAside",setup(n){const{theme:e}=V();return(t,s)=>(a(),u("div",Kt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),k(jt),c(t.$slots,"aside-outline-after",{},void 0,!0),Rt,c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Gt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Wt=g(qt,[["__scopeId","data-v-6d7b3c46"]]);function Jt(){const{theme:n,page:e}=V();return y(()=>{const{text:t="Edit this page",pattern:s=""}=n.value.editLink||{};let o;return typeof s=="function"?o=s(e.value):o=s.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Yt(){const{page:n,theme:e,frontmatter:t}=V();return y(()=>{var m,L,b,P,S,A,C,w;const s=Be(e.value.sidebar,n.value.relativePath),o=Tt(s),i=Xt(o,G=>G.link.replace(/[?#].*$/,"")),l=i.findIndex(G=>q(n.value.relativePath,G.link)),d=((m=e.value.docFooter)==null?void 0:m.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=i[l-1])==null?void 0:S.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[l+1])==null?void 0:A.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=i[l+1])==null?void 0:w.link)}}})}function Xt(n,e){const t=new Set;return n.filter(s=>{const o=e(s);return t.has(o)?!1:t.add(o)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&we.test(e.href)||e.target==="_blank");return(o,i)=>(a(),$(D(t.value),{class:N(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?r(be)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Qt={class:"VPLastUpdated"},Zt=["datetime"],xt=_({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t,lang:s}=V(),o=y(()=>new Date(t.value.lastUpdated)),i=y(()=>o.value.toISOString()),l=T("");return R(()=>{ee(()=>{var d,v,m;l.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?s.value:void 0,((m=e.value.lastUpdated)==null?void 0:m.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(d,v)=>{var m;return a(),u("p",Qt,[j(I(((m=r(e).lastUpdated)==null?void 0:m.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},I(l.value),9,Zt)])}}}),en=g(xt,[["__scopeId","data-v-475f71b8"]]),De=n=>(B("data-v-4f9813fa"),n=n(),H(),n),tn={key:0,class:"VPDocFooter"},nn={key:0,class:"edit-info"},on={key:0,class:"edit-link"},sn=De(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),an={key:1,class:"last-updated"},rn={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},ln=De(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),cn={class:"pager"},un=["innerHTML"],dn=["innerHTML"],vn={class:"pager"},pn=["innerHTML"],fn=["innerHTML"],hn=_({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:s}=V(),o=Jt(),i=Yt(),l=y(()=>e.value.editLink&&s.value.editLink!==!1),d=y(()=>t.value.lastUpdated),v=y(()=>l.value||d.value||i.value.prev||i.value.next);return(m,L)=>{var b,P,S,A;return v.value?(a(),u("footer",tn,[c(m.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",nn,[l.value?(a(),u("div",on,[k(F,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:f(()=>[sn,j(" "+I(r(o).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",an,[k(en)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",rn,[ln,p("div",cn,[(S=r(i).prev)!=null&&S.link?(a(),$(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,un),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,dn)]}),_:1},8,["href"])):h("",!0)]),p("div",vn,[(A=r(i).next)!=null&&A.link?(a(),$(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,pn),p("span",{class:"title",innerHTML:r(i).next.text},null,8,fn)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),_n=g(hn,[["__scopeId","data-v-4f9813fa"]]),mn=n=>(B("data-v-83890dd9"),n=n(),H(),n),bn={class:"container"},kn=mn(()=>p("div",{class:"aside-curtain"},null,-1)),$n={class:"aside-container"},gn={class:"aside-content"},yn={class:"content"},Pn={class:"content-container"},Sn={class:"main"},Vn=_({__name:"VPDoc",setup(n){const{theme:e}=V(),t=ne(),{hasSidebar:s,hasAside:o,leftAside:i}=U(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const m=W("Content");return a(),u("div",{class:N(["VPDoc",{"has-sidebar":r(s),"has-aside":r(o)}])},[c(d.$slots,"doc-top",{},void 0,!0),p("div",bn,[r(o)?(a(),u("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[kn,p("div",$n,[p("div",gn,[k(Wt,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",yn,[p("div",Pn,[c(d.$slots,"doc-before",{},void 0,!0),p("main",Sn,[k(m,{class:N(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(_n,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Ln=g(Vn,[["__scopeId","data-v-83890dd9"]]),Tn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.href&&we.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),$(D(s.value),{class:N(["VPButton",[o.size,o.theme]]),href:o.href?r(be)(o.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[j(I(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),wn=g(Tn,[["__scopeId","data-v-14206e74"]]),In=["src","alt"],Nn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const s=W("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",K({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(fe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,In)):(a(),u(M,{key:1},[k(s,K({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(s,K({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),x=g(Nn,[["__scopeId","data-v-35a7d0b8"]]),Mn=n=>(B("data-v-955009fc"),n=n(),H(),n),An={class:"container"},Cn={class:"main"},Bn={key:0,class:"name"},Hn=["innerHTML"],En=["innerHTML"],Dn=["innerHTML"],Fn={key:0,class:"actions"},On={key:0,class:"image"},jn={class:"image-container"},Un=Mn(()=>p("div",{class:"image-bg"},null,-1)),Gn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=Y("hero-image-slot-exists");return(t,s)=>(a(),u("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[p("div",An,[p("div",Cn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",Bn,[p("span",{innerHTML:t.name,class:"clip"},null,8,Hn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,En)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Dn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Fn,[(a(!0),u(M,null,E(t.actions,o=>(a(),u("div",{key:o.link,class:"action"},[k(wn,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",On,[p("div",jn,[Un,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(x,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),zn=g(Gn,[["__scopeId","data-v-955009fc"]]),Kn=_({__name:"VPHomeHero",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).hero?(a(),$(zn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Rn=n=>(B("data-v-f5e9645b"),n=n(),H(),n),qn={class:"box"},Wn={key:0,class:"icon"},Jn=["innerHTML"],Yn=["innerHTML"],Xn=["innerHTML"],Qn={key:4,class:"link-text"},Zn={class:"link-text-value"},xn=Rn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),eo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(n){return(e,t)=>(a(),$(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",qn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",Wn,[k(x,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(x,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Jn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Yn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Xn)):h("",!0),e.linkText?(a(),u("div",Qn,[p("p",Zn,[j(I(e.linkText)+" ",1),xn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),to=g(eo,[["__scopeId","data-v-f5e9645b"]]),no={key:0,class:"VPFeatures"},oo={class:"container"},so={class:"items"},ao=_({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(a(),u("div",no,[p("div",oo,[p("div",so,[(a(!0),u(M,null,E(s.features,i=>(a(),u("div",{key:i.title,class:N(["item",[t.value]])},[k(to,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),ro=g(ao,[["__scopeId","data-v-d0a190d7"]]),io=_({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).features?(a(),$(ro,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),lo=_({__name:"VPHomeContent",setup(n){const{width:e}=xe({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),u("div",{class:"vp-doc container",style:Ie(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),co=g(lo,[["__scopeId","data-v-7a48a447"]]),uo={class:"VPHome"},vo=_({__name:"VPHome",setup(n){const{frontmatter:e}=V();return(t,s)=>{const o=W("Content");return a(),u("div",uo,[c(t.$slots,"home-hero-before",{},void 0,!0),k(Kn,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),k(io),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(co,{key:0},{default:f(()=>[k(o)]),_:1})):(a(),$(o,{key:1}))])}}}),po=g(vo,[["__scopeId","data-v-cbb6ec48"]]),fo={},ho={class:"VPPage"};function _o(n,e){const t=W("Content");return a(),u("div",ho,[c(n.$slots,"page-top"),k(t),c(n.$slots,"page-bottom")])}const mo=g(fo,[["render",_o]]),bo=_({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(o,i)=>(a(),u("div",{class:N(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[k(Vt)],!0):r(t).layout==="page"?(a(),$(mo,{key:1},{"page-top":f(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(po,{key:2},{"home-hero-before":f(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(D(r(t).layout),{key:3})):(a(),$(Ln,{key:4},{"doc-top":f(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ko=g(bo,[["__scopeId","data-v-91765379"]]),$o={class:"container"},go=["innerHTML"],yo=["innerHTML"],Po=_({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(s)}])},[p("div",$o,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,go)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,yo)):h("",!0)])],2)):h("",!0)}}),So=g(Po,[["__scopeId","data-v-c970a860"]]);function Vo(){const{theme:n,frontmatter:e}=V(),t=Te([]),s=y(()=>t.value.length>0);return te(()=>{t.value=ke(e.value.outline??n.value.outline)}),{headers:t,hasLocalNav:s}}const Lo=n=>(B("data-v-bc9dc845"),n=n(),H(),n),To={class:"menu-text"},wo=Lo(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),Io={class:"header"},No={class:"outline"},Mo=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=V(),s=T(!1),o=T(0),i=T(),l=T();function d(b){var P;(P=i.value)!=null&&P.contains(b.target)||(s.value=!1)}O(s,b=>{if(b){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ce("Escape",()=>{s.value=!1}),te(()=>{s.value=!1});function v(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function m(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Ne(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Ie({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:v,class:N({open:s.value})},[p("span",To,I(r(He)(r(t))),1),wo],2)):(a(),u("button",{key:1,onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)),k(pe,{name:"flyout"},{default:f(()=>[s.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:m},[p("div",Io,[p("a",{class:"top-link",href:"#",onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)]),p("div",No,[k(Ee,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Ao=g(Mo,[["__scopeId","data-v-bc9dc845"]]),Co=n=>(B("data-v-070ab83d"),n=n(),H(),n),Bo={class:"container"},Ho=["aria-expanded"],Eo=Co(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Do={class:"menu-text"},Fo=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U(),{headers:o}=Vo(),{y:i}=Me(),l=T(0);R(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),te(()=>{o.value=ke(t.value.outline??e.value.outline)});const d=y(()=>o.value.length===0),v=y(()=>d.value&&!s.value),m=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:d.value,fixed:v.value}));return(L,b)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:N(m.value)},[p("div",Bo,[r(s)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>L.$emit("open-menu"))},[Eo,p("span",Do,I(r(e).sidebarMenuLabel||"Menu"),1)],8,Ho)):h("",!0),k(Ao,{headers:r(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Oo=g(Fo,[["__scopeId","data-v-070ab83d"]]);function jo(){const n=T(!1);function e(){n.value=!0,window.addEventListener("resize",o)}function t(){n.value=!1,window.removeEventListener("resize",o)}function s(){n.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=ne();return O(()=>i.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:s}}const Uo={},Go={class:"VPSwitch",type:"button",role:"switch"},zo={class:"check"},Ko={key:0,class:"icon"};function Ro(n,e){return a(),u("button",Go,[p("span",zo,[n.$slots.default?(a(),u("span",Ko,[c(n.$slots,"default",{},void 0,!0)])):h("",!0)])])}const qo=g(Uo,[["render",Ro],["__scopeId","data-v-4a1c76db"]]),Fe=n=>(B("data-v-e40a8bb6"),n=n(),H(),n),Wo=Fe(()=>p("span",{class:"vpi-sun sun"},null,-1)),Jo=Fe(()=>p("span",{class:"vpi-moon moon"},null,-1)),Yo=_({__name:"VPSwitchAppearance",setup(n){const{isDark:e,theme:t}=V(),s=Y("toggle-appearance",()=>{e.value=!e.value}),o=T("");return _e(()=>{o.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),$(qo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:f(()=>[Wo,Jo]),_:1},8,["title","aria-checked","onClick"]))}}),$e=g(Yo,[["__scopeId","data-v-e40a8bb6"]]),Xo={key:0,class:"VPNavBarAppearance"},Qo=_({__name:"VPNavBarAppearance",setup(n){const{site:e}=V();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Xo,[k($e)])):h("",!0)}}),Zo=g(Qo,[["__scopeId","data-v-af096f4a"]]),ge=T();let Oe=!1,ie=0;function xo(n){const e=T(!1);if(oe){!Oe&&es(),ie++;const t=O(ge,s=>{var o,i,l;s===n.el.value||(o=n.el.value)!=null&&o.contains(s)?(e.value=!0,(i=n.onFocus)==null||i.call(n)):(e.value=!1,(l=n.onBlur)==null||l.call(n))});he(()=>{t(),ie--,ie||ts()})}return et(e)}function es(){document.addEventListener("focusin",je),Oe=!0,ge.value=document.activeElement}function ts(){document.removeEventListener("focusin",je)}function je(){ge.value=document.activeElement}const ns={class:"VPMenuLink"},os=_({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),u("div",ns,[k(F,{class:N({active:r(q)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[j(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=g(os,[["__scopeId","data-v-8b74d055"]]),ss={class:"VPMenuGroup"},as={key:0,class:"title"},rs=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",ss,[e.text?(a(),u("p",as,I(e.text),1)):h("",!0),(a(!0),u(M,null,E(e.items,s=>(a(),u(M,null,["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),is=g(rs,[["__scopeId","data-v-48c802d0"]]),ls={class:"VPMenu"},cs={key:0,class:"items"},us=_({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),u("div",ls,[e.items?(a(),u("div",cs,[(a(!0),u(M,null,E(e.items,s=>(a(),u(M,{key:JSON.stringify(s)},["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(D(s.component),K({key:1,ref_for:!0},s.props),null,16)):(a(),$(is,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),ds=g(us,[["__scopeId","data-v-7dd3104a"]]),vs=n=>(B("data-v-e5380155"),n=n(),H(),n),ps=["aria-expanded","aria-label"],fs={key:0,class:"text"},hs=["innerHTML"],_s=vs(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),ms={key:1,class:"vpi-more-horizontal icon"},bs={class:"menu"},ks=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=T(!1),t=T();xo({el:t,onBlur:s});function s(){e.value=!1}return(o,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[o.button||o.icon?(a(),u("span",fs,[o.icon?(a(),u("span",{key:0,class:N([o.icon,"option-icon"])},null,2)):h("",!0),o.button?(a(),u("span",{key:1,innerHTML:o.button},null,8,hs)):h("",!0),_s])):(a(),u("span",ms))],8,ps),p("div",bs,[k(ds,{items:o.items},{default:f(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=g(ks,[["__scopeId","data-v-e5380155"]]),$s=["href","aria-label","innerHTML"],gs=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,o)=>(a(),u("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,$s))}}),ys=g(gs,[["__scopeId","data-v-717b8b75"]]),Ps={class:"VPSocialLinks"},Ss=_({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),u("div",Ps,[(a(!0),u(M,null,E(e.links,({link:s,icon:o,ariaLabel:i})=>(a(),$(ys,{key:s,icon:o,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Pe=g(Ss,[["__scopeId","data-v-ee7a9424"]]),Vs={key:0,class:"group translations"},Ls={class:"trans-title"},Ts={key:1,class:"group"},ws={class:"item appearance"},Is={class:"label"},Ns={class:"appearance-action"},Ms={key:2,class:"group"},As={class:"item social-links"},Cs=_({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:o}=Q({correspondingLink:!0}),i=y(()=>s.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>i.value?(a(),$(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(s).length&&r(o).label?(a(),u("div",Vs,[p("p",Ls,I(r(o).label),1),(a(!0),u(M,null,E(r(s),v=>(a(),$(se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Ts,[p("div",ws,[p("p",Is,I(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",Ns,[k($e)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Ms,[p("div",As,[k(Pe,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Bs=g(Cs,[["__scopeId","data-v-925effce"]]),Hs=n=>(B("data-v-5dea55bf"),n=n(),H(),n),Es=["aria-expanded"],Ds=Hs(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Fs=[Ds],Os=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Fs,10,Es))}}),js=g(Os,[["__scopeId","data-v-5dea55bf"]]),Us=["innerHTML"],Gs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),$(F,{class:N({VPNavBarMenuLink:!0,active:r(q)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Us)]),_:1},8,["class","href","noIcon","target","rel"]))}}),zs=g(Gs,[["__scopeId","data-v-ed5ac1f6"]]),Ks=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const e=n,{page:t}=V(),s=i=>"component"in i?!1:"link"in i?q(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),o=y(()=>s(e.item));return(i,l)=>(a(),$(ye,{class:N({VPNavBarMenuGroup:!0,active:r(q)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Rs=n=>(B("data-v-e6d46098"),n=n(),H(),n),qs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ws=Rs(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Js=_({__name:"VPNavBarMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",qs,[Ws,(a(!0),u(M,null,E(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(zs,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(D(o.component),K({key:1,ref_for:!0},o.props),null,16)):(a(),$(Ks,{key:2,item:o},null,8,["item"]))],64))),128))])):h("",!0)}}),Ys=g(Js,[["__scopeId","data-v-e6d46098"]]);function Xs(n){const{localeIndex:e,theme:t}=V();function s(o){var A,C,w;const i=o.split("."),l=(A=t.value.search)==null?void 0:A.options,d=l&&typeof l=="object",v=d&&((w=(C=l.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,m=d&&l.translations||null;let L=v,b=m,P=n;const S=i.pop();for(const G of i){let z=null;const J=P==null?void 0:P[G];J&&(z=P=J);const ae=b==null?void 0:b[G];ae&&(z=b=ae);const re=L==null?void 0:L[G];re&&(z=L=re),J||(P=z),ae||(b=z),re||(L=z)}return(L==null?void 0:L[S])??(b==null?void 0:b[S])??(P==null?void 0:P[S])??""}return s}const Qs=["aria-label"],Zs={class:"DocSearch-Button-Container"},xs=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),ea={class:"DocSearch-Button-Placeholder"},ta=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Se=_({__name:"VPNavBarSearchButton",setup(n){const t=Xs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,o)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Zs,[xs,p("span",ea,I(r(t)("button.buttonText")),1)]),ta],8,Qs))}}),na={class:"VPNavBarSearch"},oa={id:"local-search"},sa={key:1,id:"docsearch"},aa=_({__name:"VPNavBarSearch",setup(n){const e=tt(()=>nt(()=>import("./VPLocalSearchBox.Cr2wnApA.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=V(),o=T(!1),i=T(!1);R(()=>{});function l(){o.value||(o.value=!0,setTimeout(d,16))}function d(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v(b){const P=b.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const m=T(!1);ce("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),m.value=!0)}),ce("/",b=>{v(b)||(b.preventDefault(),m.value=!0)});const L="local";return(b,P)=>{var S;return a(),u("div",na,[r(L)==="local"?(a(),u(M,{key:0},[m.value?(a(),$(r(e),{key:0,onClose:P[0]||(P[0]=A=>m.value=!1)})):h("",!0),p("div",oa,[k(Se,{onClick:P[1]||(P[1]=A=>m.value=!0)})])],64)):r(L)==="algolia"?(a(),u(M,{key:1},[o.value?(a(),$(r(t),{key:0,algolia:((S=r(s).search)==null?void 0:S.options)??r(s).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",sa,[k(Se,{onClick:l})]))],64)):h("",!0)])}}}),ra=_({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Pe,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ia=g(ra,[["__scopeId","data-v-164c457f"]]),la=["href","rel","target"],ca={key:1},ua={key:2},da=_({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=V(),{hasSidebar:s}=U(),{currentLang:o}=Q(),i=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,m)=>(a(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(s)}])},[p("a",{class:"title",href:i.value??r(be)(r(o).link),rel:l.value,target:d.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(x,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",ca,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),u("span",ua,I(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,la)],2))}}),va=g(da,[["__scopeId","data-v-28a961f9"]]),pa={class:"items"},fa={class:"title"},ha=_({__name:"VPNavBarTranslations",setup(n){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Q({correspondingLink:!0});return(o,i)=>r(t).length&&r(s).label?(a(),$(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",pa,[p("p",fa,I(r(s).label),1),(a(!0),u(M,null,E(r(t),l=>(a(),$(se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),_a=g(ha,[["__scopeId","data-v-c80d9ad0"]]),ma=n=>(B("data-v-822684d1"),n=n(),H(),n),ba={class:"wrapper"},ka={class:"container"},$a={class:"title"},ga={class:"content"},ya={class:"content-body"},Pa=ma(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),Sa=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const e=n,{y:t}=Me(),{hasSidebar:s}=U(),{frontmatter:o}=V(),i=T({});return _e(()=>{i.value={"has-sidebar":s.value,home:o.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:N(["VPNavBar",i.value])},[p("div",ba,[p("div",ka,[p("div",$a,[k(va,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",ga,[p("div",ya,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(aa,{class:"search"}),k(Ys,{class:"menu"}),k(_a,{class:"translations"}),k(Zo,{class:"appearance"}),k(ia,{class:"social-links"}),k(Bs,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(js,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),Pa],2))}}),Va=g(Sa,[["__scopeId","data-v-822684d1"]]),La={key:0,class:"VPNavScreenAppearance"},Ta={class:"text"},wa=_({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=V();return(s,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",La,[p("p",Ta,I(r(t).darkModeSwitchLabel||"Appearance"),1),k($e)])):h("",!0)}}),Ia=g(wa,[["__scopeId","data-v-ffb44008"]]),Na=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Ma=g(Na,[["__scopeId","data-v-27d04aeb"]]),Aa=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:f(()=>[j(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ue=g(Aa,[["__scopeId","data-v-7179dbb7"]]),Ca={class:"VPNavScreenMenuGroupSection"},Ba={key:0,class:"title"},Ha=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",Ca,[e.text?(a(),u("p",Ba,I(e.text),1)):h("",!0),(a(!0),u(M,null,E(e.items,s=>(a(),$(Ue,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ea=g(Ha,[["__scopeId","data-v-4b8941ac"]]),Da=n=>(B("data-v-875057a5"),n=n(),H(),n),Fa=["aria-controls","aria-expanded"],Oa=["innerHTML"],ja=Da(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),Ua=["id"],Ga={key:0,class:"item"},za={key:1,class:"item"},Ka={key:2,class:"group"},Ra=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=T(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:o},[p("span",{class:"button-text",innerHTML:i.text},null,8,Oa),ja],8,Fa),p("div",{id:s.value,class:"items"},[(a(!0),u(M,null,E(i.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",Ga,[k(Ue,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",za,[(a(),$(D(d.component),K({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",Ka,[k(Ea,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,Ua)],2))}}),qa=g(Ra,[["__scopeId","data-v-875057a5"]]),Wa={key:0,class:"VPNavScreenMenu"},Ja=_({__name:"VPNavScreenMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",Wa,[(a(!0),u(M,null,E(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(Ma,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(D(o.component),K({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(a(),$(qa,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Ya=_({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Pe,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Ge=n=>(B("data-v-362991c2"),n=n(),H(),n),Xa=Ge(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Qa=Ge(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Za={class:"list"},xa=_({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=Q({correspondingLink:!0}),s=T(!1);function o(){s.value=!s.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[p("button",{class:"title",onClick:o},[Xa,j(" "+I(r(t).label)+" ",1),Qa]),p("ul",Za,[(a(!0),u(M,null,E(r(e),d=>(a(),u("li",{key:d.link,class:"item"},[k(F,{class:"link",href:d.link},{default:f(()=>[j(I(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),er=g(xa,[["__scopeId","data-v-362991c2"]]),tr={class:"container"},nr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=T(null),t=Ae(oe?document.body:null);return(s,o)=>(a(),$(pe,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:f(()=>[s.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",tr,[c(s.$slots,"nav-screen-content-before",{},void 0,!0),k(Ja,{class:"menu"}),k(er,{class:"translations"}),k(Ia,{class:"appearance"}),k(Ya,{class:"social-links"}),c(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),or=g(nr,[["__scopeId","data-v-833aabba"]]),sr={key:0,class:"VPNav"},ar=_({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=jo(),{frontmatter:o}=V(),i=y(()=>o.value.navbar!==!1);return me("close-screen",t),ee(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,d)=>i.value?(a(),u("header",sr,[k(Va,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(or,{open:r(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),rr=g(ar,[["__scopeId","data-v-f1e365da"]]),ze=n=>(B("data-v-196b2e5f"),n=n(),H(),n),ir=["role","tabindex"],lr=ze(()=>p("div",{class:"indicator"},null,-1)),cr=ze(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ur=[cr],dr={key:1,class:"items"},vr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:s,isLink:o,isActiveLink:i,hasActiveLink:l,hasChildren:d,toggle:v}=It(y(()=>e.item)),m=y(()=>d.value?"section":"div"),L=y(()=>o.value?"a":"div"),b=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>o.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":l.value}]);function A(w){"key"in w&&w.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(w,G)=>{const z=W("VPSidebarItem",!0);return a(),$(D(m.value),{class:N(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),u("div",K({key:0,class:"item",role:P.value},st(w.item.items?{click:A,keydown:A}:{},!0),{tabindex:w.item.items&&0}),[lr,w.item.link?(a(),$(F,{key:0,tag:L.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),$(D(b.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(D(b.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:ot(C,["enter"]),tabindex:"0"},ur,32)):h("",!0)],16,ir)):h("",!0),w.item.items&&w.item.items.length?(a(),u("div",dr,[w.depth<5?(a(!0),u(M,{key:0},E(w.item.items,J=>(a(),$(z,{key:J.text,item:J,depth:w.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),pr=g(vr,[["__scopeId","data-v-196b2e5f"]]),fr=_({__name:"VPSidebarGroup",props:{items:{}},setup(n){const e=T(!0);let t=null;return R(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),at(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,o)=>(a(!0),u(M,null,E(s.items,i=>(a(),u("div",{key:i.text,class:N(["group",{"no-transition":e.value}])},[k(pr,{item:i,depth:0},null,8,["item"])],2))),128))}}),hr=g(fr,[["__scopeId","data-v-9e426adc"]]),Ke=n=>(B("data-v-18756405"),n=n(),H(),n),_r=Ke(()=>p("div",{class:"curtain"},null,-1)),mr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},br=Ke(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),kr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const{sidebarGroups:e,hasSidebar:t}=U(),s=n,o=T(null),i=Ae(oe?document.body:null);O([s,o],()=>{var d;s.open?(i.value=!0,(d=o.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return O(e,()=>{l.value+=1},{deep:!0}),(d,v)=>r(t)?(a(),u("aside",{key:0,class:N(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:v[0]||(v[0]=rt(()=>{},["stop"]))},[_r,p("nav",mr,[br,c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(hr,{items:r(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),$r=g(kr,[["__scopeId","data-v-18756405"]]),gr=_({__name:"VPSkipLink",setup(n){const e=ne(),t=T();O(()=>e.path,()=>t.value.focus());function s({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),yr=g(gr,[["__scopeId","data-v-c3508ec8"]]),Pr=_({__name:"Layout",setup(n){const{isOpen:e,open:t,close:s}=U(),o=ne();O(()=>o.path,s),wt(e,s);const{frontmatter:i}=V(),l=Ce(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(v,m)=>{const L=W("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:N(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),k(yr),k(pt,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),k(rr,null,{"nav-bar-title-before":f(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Oo,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),k($r,{open:r(e)},{"sidebar-nav-before":f(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(ko,null,{"page-top":f(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(So),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(L,{key:1}))}}}),Sr=g(Pr,[["__scopeId","data-v-a9a9e638"]]),Ve={Layout:Sr,enhanceApp:({app:n})=>{n.component("Badge",ut)}},Vr=n=>{if(typeof document>"u")return{stabilizeScrollPosition:o=>async(...i)=>o(...i)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...o)=>{const i=s(...o),l=n.value;if(!l)return i;const d=l.offsetTop-e.scrollTop;return await Ne(),e.scrollTop=l.offsetTop-d,i}}},Re="vitepress:tabSharedState",X=typeof localStorage<"u"?localStorage:null,qe="vitepress:tabsSharedState",Lr=()=>{const n=X==null?void 0:X.getItem(qe);if(n)try{return JSON.parse(n)}catch{}return{}},Tr=n=>{X&&X.setItem(qe,JSON.stringify(n))},wr=n=>{const e=it({});O(()=>e.content,(t,s)=>{t&&s&&Tr(t)},{deep:!0}),n.provide(Re,e)},Ir=(n,e)=>{const t=Y(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");R(()=>{t.content||(t.content=Lr())});const s=T(),o=y({get(){var v;const l=e.value,d=n.value;if(l){const m=(v=t.content)==null?void 0:v[l];if(m&&d.includes(m))return m}else{const m=s.value;if(m)return m}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):s.value=l}});return{selected:o,select:l=>{o.value=l}}};let Le=0;const Nr=()=>(Le++,""+Le);function Mr(){const n=Ce();return y(()=>{var s;const t=(s=n.default)==null?void 0:s.call(n);return t?t.filter(o=>typeof o.type=="object"&&"__name"in o.type&&o.type.__name==="PluginTabsTab"&&o.props).map(o=>{var i;return(i=o.props)==null?void 0:i.label}):[]})}const We="vitepress:tabSingleState",Ar=n=>{me(We,n)},Cr=()=>{const n=Y(We);if(!n)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return n},Br={class:"plugin-tabs"},Hr=["id","aria-selected","aria-controls","tabindex","onClick"],Er=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(n){const e=n,t=Mr(),{selected:s,select:o}=Ir(t,lt(e,"sharedStateKey")),i=T(),{stabilizeScrollPosition:l}=Vr(i),d=l(o),v=T([]),m=b=>{var A;const P=t.value.indexOf(s.value);let S;b.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:b.key==="ArrowRight"&&(S=P(a(),u("div",Br,[p("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),u(M,null,E(r(t),S=>(a(),u("button",{id:`tab-${S}-${r(L)}`,ref_for:!0,ref_key:"buttonRefs",ref:v,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===r(s),"aria-controls":`panel-${S}-${r(L)}`,tabindex:S===r(s)?0:-1,onClick:()=>r(d)(S)},I(S),9,Hr))),128))],544),c(b.$slots,"default")]))}}),Dr=["id","aria-labelledby"],Fr=_({__name:"PluginTabsTab",props:{label:{}},setup(n){const{uid:e,selected:t}=Cr();return(s,o)=>r(t)===s.label?(a(),u("div",{key:0,id:`panel-${s.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${r(e)}`},[c(s.$slots,"default",{},void 0,!0)],8,Dr)):h("",!0)}}),Or=g(Fr,[["__scopeId","data-v-9b0d03d2"]]),jr=n=>{wr(n),n.component("PluginTabs",Er),n.component("PluginTabsTab",Or)},Gr={extends:Ve,Layout(){return ct(Ve.Layout,null,{})},enhanceApp({app:n,router:e,siteData:t}){jr(n)}};export{Gr as R,Xs as c,V as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.0SAS8vGp.js","assets/chunks/framework.D-rV3Mrg.js"])))=>i.map(i=>d[i]); +import{d as _,o as a,c as u,r as c,n as N,a as j,t as I,b as $,w as f,e as h,T as pe,_ as g,u as Je,i as Ye,f as Xe,g as fe,h as y,j as p,k as r,p as B,l as H,m as q,q as le,s as T,v as O,x as ee,y as R,z as he,A as _e,B as Qe,C as Ze,D as W,F as M,E,G as Te,H as te,I as k,J as D,K as we,L as ne,M as K,N as Y,O as xe,P as Ie,Q as ce,R as Ne,S as Me,U as oe,V as et,W as tt,X as nt,Y as Ae,Z as me,$ as ot,a0 as st,a1 as at,a2 as rt,a3 as Ce,a4 as it,a5 as lt,a6 as ct}from"./framework.D-rV3Mrg.js";const ut=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(n){return(e,t)=>(a(),u("span",{class:N(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[j(I(e.text),1)])],2))}}),dt={key:0,class:"VPBackdrop"},vt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),$(pe,{name:"fade"},{default:f(()=>[e.show?(a(),u("div",dt)):h("",!0)]),_:1}))}}),pt=g(vt,[["__scopeId","data-v-b06cdb19"]]),V=Je;function ft(n,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(n,e):(n(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ue(n){return/^\//.test(n)?n:`/${n}`}function be(n){const{pathname:e,search:t,hash:s,protocol:o}=new URL(n,"http://a.com");if(Ye(n)||n.startsWith("#")||!o.startsWith("http")||!Xe(e))return n;const{site:i}=V(),l=e.endsWith("/")||e.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return fe(l)}function Q({correspondingLink:n=!1}={}){const{site:e,localeIndex:t,page:s,theme:o,hash:i}=V(),l=y(()=>{var v,m;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((m=e.value.locales[t.value])==null?void 0:m.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([v,m])=>l.value.label===m.label?[]:{text:m.label,link:ht(m.link||(v==="root"?"/":`/${v}/`),o.value.i18nRouting!==!1&&n,s.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function ht(n,e,t,s){return e?n.replace(/\/$/,"")+ue(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):n}const _t=n=>(B("data-v-951cab6c"),n=n(),H(),n),mt={class:"NotFound"},bt={class:"code"},kt={class:"title"},$t=_t(()=>p("div",{class:"divider"},null,-1)),gt={class:"quote"},yt={class:"action"},Pt=["href","aria-label"],St=_({__name:"NotFound",setup(n){const{theme:e}=V(),{currentLang:t}=Q();return(s,o)=>{var i,l,d,v,m;return a(),u("div",mt,[p("p",bt,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",kt,I(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),$t,p("blockquote",gt,I(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",yt,[p("a",{class:"link",href:r(fe)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},I(((m=r(e).notFound)==null?void 0:m.linkText)??"Take me home"),9,Pt)])])}}}),Vt=g(St,[["__scopeId","data-v-951cab6c"]]);function Be(n,e){if(Array.isArray(n))return Z(n);if(n==null)return[];e=ue(e);const t=Object.keys(n).sort((o,i)=>i.split("/").length-o.split("/").length).find(o=>e.startsWith(ue(o))),s=t?n[t]:[];return Array.isArray(s)?Z(s):Z(s.items,s.base)}function Lt(n){const e=[];let t=0;for(const s in n){const o=n[s];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function Tt(n){const e=[];function t(s){for(const o of s)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(n),e}function de(n,e){return Array.isArray(e)?e.some(t=>de(n,t)):q(n,e.link)?!0:e.items?de(n,e.items):!1}function Z(n,e){return[...n].map(t=>{const s={...t},o=s.base||e;return o&&s.link&&(s.link=o+s.link),s.items&&(s.items=Z(s.items,o)),s})}function U(){const{frontmatter:n,page:e,theme:t}=V(),s=le("(min-width: 960px)"),o=T(!1),i=y(()=>{const C=t.value.sidebar,w=e.value.relativePath;return C?Be(C,w):[]}),l=T(i.value);O(i,(C,w)=>{JSON.stringify(C)!==JSON.stringify(w)&&(l.value=i.value)});const d=y(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),v=y(()=>m?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),m=y(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),L=y(()=>d.value&&s.value),b=y(()=>d.value?Lt(l.value):[]);function P(){o.value=!0}function S(){o.value=!1}function A(){o.value?S():P()}return{isOpen:o,sidebar:l,sidebarGroups:b,hasSidebar:d,hasAside:m,leftAside:v,isSidebarEnabled:L,open:P,close:S,toggle:A}}function wt(n,e){let t;ee(()=>{t=n.value?document.activeElement:void 0}),R(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}function It(n){const{page:e,hash:t}=V(),s=T(!1),o=y(()=>n.value.collapsed!=null),i=y(()=>!!n.value.link),l=T(!1),d=()=>{l.value=q(e.value.relativePath,n.value.link)};O([e,n,t],d),R(d);const v=y(()=>l.value?!0:n.value.items?de(e.value.relativePath,n.value.items):!1),m=y(()=>!!(n.value.items&&n.value.items.length));ee(()=>{s.value=!!(o.value&&n.value.collapsed)}),_e(()=>{(l.value||v.value)&&(s.value=!1)});function L(){o.value&&(s.value=!s.value)}return{collapsed:s,collapsible:o,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:m,toggle:L}}function Nt(){const{hasSidebar:n}=U(),e=le("(min-width: 960px)"),t=le("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const ve=[];function He(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function ke(n){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:Mt(t),link:"#"+t.id,level:s}});return At(e,n)}function Mt(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function At(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(l=>l.level>=s&&l.level<=o),ve.length=0;for(const{element:l,link:d}of n)ve.push({element:l,link:d});const i=[];e:for(let l=0;l=0;v--){const m=n[v];if(m.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),Qe(()=>{l(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,m=document.body.offsetHeight,L=Math.abs(d+v-m)<1,b=ve.map(({element:S,link:A})=>({link:A,top:Bt(S)})).filter(({top:S})=>!Number.isNaN(S)).sort((S,A)=>S.top-A.top);if(!b.length){l(null);return}if(d<1){l(null);return}if(L){l(b[b.length-1].link);return}let P=null;for(const{link:S,top:A}of b){if(A>d+Ze()+4)break;P=S}l(P)}function l(d){o&&o.classList.remove("active"),d==null?o=null:o=n.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=o;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Bt(n){let e=0;for(;n!==document.body;){if(n===null)return NaN;e+=n.offsetTop,n=n.offsetParent}return e}const Ht=["href","title"],Et=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(n){function e({target:t}){const s=t.href.split("#")[1],o=document.getElementById(decodeURIComponent(s));o==null||o.focus({preventScroll:!0})}return(t,s)=>{const o=W("VPDocOutlineItem",!0);return a(),u("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(M,null,E(t.headers,({children:i,link:l,title:d})=>(a(),u("li",null,[p("a",{class:"outline-link",href:l,onClick:e,title:d},I(d),9,Ht),i!=null&&i.length?(a(),$(o,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ee=g(Et,[["__scopeId","data-v-3f927ebe"]]),Dt={class:"content"},Ft={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Ot=_({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=V(),s=Te([]);te(()=>{s.value=ke(e.value.outline??t.value.outline)});const o=T(),i=T();return Ct(o,i),(l,d)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[p("div",Dt,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",Ft,I(r(He)(r(t))),1),k(Ee,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),jt=g(Ot,[["__scopeId","data-v-b38bf2ff"]]),Ut={class:"VPDocAsideCarbonAds"},Gt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,s)=>(a(),u("div",Ut,[k(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),zt=n=>(B("data-v-6d7b3c46"),n=n(),H(),n),Kt={class:"VPDocAside"},Rt=zt(()=>p("div",{class:"spacer"},null,-1)),qt=_({__name:"VPDocAside",setup(n){const{theme:e}=V();return(t,s)=>(a(),u("div",Kt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),k(jt),c(t.$slots,"aside-outline-after",{},void 0,!0),Rt,c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),$(Gt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Wt=g(qt,[["__scopeId","data-v-6d7b3c46"]]);function Jt(){const{theme:n,page:e}=V();return y(()=>{const{text:t="Edit this page",pattern:s=""}=n.value.editLink||{};let o;return typeof s=="function"?o=s(e.value):o=s.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Yt(){const{page:n,theme:e,frontmatter:t}=V();return y(()=>{var m,L,b,P,S,A,C,w;const s=Be(e.value.sidebar,n.value.relativePath),o=Tt(s),i=Xt(o,G=>G.link.replace(/[?#].*$/,"")),l=i.findIndex(G=>q(n.value.relativePath,G.link)),d=((m=e.value.docFooter)==null?void 0:m.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=i[l-1])==null?void 0:b.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((S=i[l-1])==null?void 0:S.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[l+1])==null?void 0:A.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=i[l+1])==null?void 0:w.link)}}})}function Xt(n,e){const t=new Set;return n.filter(s=>{const o=e(s);return t.has(o)?!1:t.add(o)})}const F=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&we.test(e.href)||e.target==="_blank");return(o,i)=>(a(),$(D(t.value),{class:N(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?r(be)(o.href):void 0,target:o.target??(s.value?"_blank":void 0),rel:o.rel??(s.value?"noreferrer":void 0)},{default:f(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Qt={class:"VPLastUpdated"},Zt=["datetime"],xt=_({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t,lang:s}=V(),o=y(()=>new Date(t.value.lastUpdated)),i=y(()=>o.value.toISOString()),l=T("");return R(()=>{ee(()=>{var d,v,m;l.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?s.value:void 0,((m=e.value.lastUpdated)==null?void 0:m.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(d,v)=>{var m;return a(),u("p",Qt,[j(I(((m=r(e).lastUpdated)==null?void 0:m.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},I(l.value),9,Zt)])}}}),en=g(xt,[["__scopeId","data-v-475f71b8"]]),De=n=>(B("data-v-4f9813fa"),n=n(),H(),n),tn={key:0,class:"VPDocFooter"},nn={key:0,class:"edit-info"},on={key:0,class:"edit-link"},sn=De(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),an={key:1,class:"last-updated"},rn={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},ln=De(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),cn={class:"pager"},un=["innerHTML"],dn=["innerHTML"],vn={class:"pager"},pn=["innerHTML"],fn=["innerHTML"],hn=_({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:s}=V(),o=Jt(),i=Yt(),l=y(()=>e.value.editLink&&s.value.editLink!==!1),d=y(()=>t.value.lastUpdated),v=y(()=>l.value||d.value||i.value.prev||i.value.next);return(m,L)=>{var b,P,S,A;return v.value?(a(),u("footer",tn,[c(m.$slots,"doc-footer-before",{},void 0,!0),l.value||d.value?(a(),u("div",nn,[l.value?(a(),u("div",on,[k(F,{class:"edit-link-button",href:r(o).url,"no-icon":!0},{default:f(()=>[sn,j(" "+I(r(o).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(a(),u("div",an,[k(en)])):h("",!0)])):h("",!0),(b=r(i).prev)!=null&&b.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",rn,[ln,p("div",cn,[(S=r(i).prev)!=null&&S.link?(a(),$(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,un),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,dn)]}),_:1},8,["href"])):h("",!0)]),p("div",vn,[(A=r(i).next)!=null&&A.link?(a(),$(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:f(()=>{var C;return[p("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,pn),p("span",{class:"title",innerHTML:r(i).next.text},null,8,fn)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),_n=g(hn,[["__scopeId","data-v-4f9813fa"]]),mn=n=>(B("data-v-83890dd9"),n=n(),H(),n),bn={class:"container"},kn=mn(()=>p("div",{class:"aside-curtain"},null,-1)),$n={class:"aside-container"},gn={class:"aside-content"},yn={class:"content"},Pn={class:"content-container"},Sn={class:"main"},Vn=_({__name:"VPDoc",setup(n){const{theme:e}=V(),t=ne(),{hasSidebar:s,hasAside:o,leftAside:i}=U(),l=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const m=W("Content");return a(),u("div",{class:N(["VPDoc",{"has-sidebar":r(s),"has-aside":r(o)}])},[c(d.$slots,"doc-top",{},void 0,!0),p("div",bn,[r(o)?(a(),u("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[kn,p("div",$n,[p("div",gn,[k(Wt,null,{"aside-top":f(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",yn,[p("div",Pn,[c(d.$slots,"doc-before",{},void 0,!0),p("main",Sn,[k(m,{class:N(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),k(_n,null,{"doc-footer-before":f(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(d.$slots,"doc-after",{},void 0,!0)])])]),c(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Ln=g(Vn,[["__scopeId","data-v-83890dd9"]]),Tn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(n){const e=n,t=y(()=>e.href&&we.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(o,i)=>(a(),$(D(s.value),{class:N(["VPButton",[o.size,o.theme]]),href:o.href?r(be)(o.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:f(()=>[j(I(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),wn=g(Tn,[["__scopeId","data-v-14206e74"]]),In=["src","alt"],Nn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const s=W("VPImage",!0);return e.image?(a(),u(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",K({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(fe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,In)):(a(),u(M,{key:1},[k(s,K({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),k(s,K({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),x=g(Nn,[["__scopeId","data-v-35a7d0b8"]]),Mn=n=>(B("data-v-955009fc"),n=n(),H(),n),An={class:"container"},Cn={class:"main"},Bn={key:0,class:"name"},Hn=["innerHTML"],En=["innerHTML"],Dn=["innerHTML"],Fn={key:0,class:"actions"},On={key:0,class:"image"},jn={class:"image-container"},Un=Mn(()=>p("div",{class:"image-bg"},null,-1)),Gn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=Y("hero-image-slot-exists");return(t,s)=>(a(),u("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[p("div",An,[p("div",Cn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",Bn,[p("span",{innerHTML:t.name,class:"clip"},null,8,Hn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,En)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Dn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",Fn,[(a(!0),u(M,null,E(t.actions,o=>(a(),u("div",{key:o.link,class:"action"},[k(wn,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link,target:o.target,rel:o.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",On,[p("div",jn,[Un,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),$(x,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),zn=g(Gn,[["__scopeId","data-v-955009fc"]]),Kn=_({__name:"VPHomeHero",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).hero?(a(),$(zn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Rn=n=>(B("data-v-f5e9645b"),n=n(),H(),n),qn={class:"box"},Wn={key:0,class:"icon"},Jn=["innerHTML"],Yn=["innerHTML"],Xn=["innerHTML"],Qn={key:4,class:"link-text"},Zn={class:"link-text-value"},xn=Rn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),eo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(n){return(e,t)=>(a(),$(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:f(()=>[p("article",qn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",Wn,[k(x,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),$(x,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Jn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Yn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Xn)):h("",!0),e.linkText?(a(),u("div",Qn,[p("p",Zn,[j(I(e.linkText)+" ",1),xn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),to=g(eo,[["__scopeId","data-v-f5e9645b"]]),no={key:0,class:"VPFeatures"},oo={class:"container"},so={class:"items"},ao=_({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(a(),u("div",no,[p("div",oo,[p("div",so,[(a(!0),u(M,null,E(s.features,i=>(a(),u("div",{key:i.title,class:N(["item",[t.value]])},[k(to,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),ro=g(ao,[["__scopeId","data-v-d0a190d7"]]),io=_({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=V();return(t,s)=>r(e).features?(a(),$(ro,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),lo=_({__name:"VPHomeContent",setup(n){const{width:e}=xe({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),u("div",{class:"vp-doc container",style:Ie(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),co=g(lo,[["__scopeId","data-v-7a48a447"]]),uo={class:"VPHome"},vo=_({__name:"VPHome",setup(n){const{frontmatter:e}=V();return(t,s)=>{const o=W("Content");return a(),u("div",uo,[c(t.$slots,"home-hero-before",{},void 0,!0),k(Kn,null,{"home-hero-info-before":f(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),k(io),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),$(co,{key:0},{default:f(()=>[k(o)]),_:1})):(a(),$(o,{key:1}))])}}}),po=g(vo,[["__scopeId","data-v-cbb6ec48"]]),fo={},ho={class:"VPPage"};function _o(n,e){const t=W("Content");return a(),u("div",ho,[c(n.$slots,"page-top"),k(t),c(n.$slots,"page-bottom")])}const mo=g(fo,[["render",_o]]),bo=_({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(o,i)=>(a(),u("div",{class:N(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[k(Vt)],!0):r(t).layout==="page"?(a(),$(mo,{key:1},{"page-top":f(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),$(po,{key:2},{"home-hero-before":f(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(o.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(o.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(o.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),$(D(r(t).layout),{key:3})):(a(),$(Ln,{key:4},{"doc-top":f(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":f(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":f(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":f(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":f(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ko=g(bo,[["__scopeId","data-v-91765379"]]),$o={class:"container"},go=["innerHTML"],yo=["innerHTML"],Po=_({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U();return(o,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(s)}])},[p("div",$o,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,go)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,yo)):h("",!0)])],2)):h("",!0)}}),So=g(Po,[["__scopeId","data-v-c970a860"]]);function Vo(){const{theme:n,frontmatter:e}=V(),t=Te([]),s=y(()=>t.value.length>0);return te(()=>{t.value=ke(e.value.outline??n.value.outline)}),{headers:t,hasLocalNav:s}}const Lo=n=>(B("data-v-bc9dc845"),n=n(),H(),n),To={class:"menu-text"},wo=Lo(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),Io={class:"header"},No={class:"outline"},Mo=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=V(),s=T(!1),o=T(0),i=T(),l=T();function d(b){var P;(P=i.value)!=null&&P.contains(b.target)||(s.value=!1)}O(s,b=>{if(b){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ce("Escape",()=>{s.value=!1}),te(()=>{s.value=!1});function v(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function m(b){b.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Ne(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:Ie({"--vp-vh":o.value+"px"}),ref_key:"main",ref:i},[b.headers.length>0?(a(),u("button",{key:0,onClick:v,class:N({open:s.value})},[p("span",To,I(r(He)(r(t))),1),wo],2)):(a(),u("button",{key:1,onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)),k(pe,{name:"flyout"},{default:f(()=>[s.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:m},[p("div",Io,[p("a",{class:"top-link",href:"#",onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)]),p("div",No,[k(Ee,{headers:b.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),Ao=g(Mo,[["__scopeId","data-v-bc9dc845"]]),Co=n=>(B("data-v-070ab83d"),n=n(),H(),n),Bo={class:"container"},Ho=["aria-expanded"],Eo=Co(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Do={class:"menu-text"},Fo=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=V(),{hasSidebar:s}=U(),{headers:o}=Vo(),{y:i}=Me(),l=T(0);R(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),te(()=>{o.value=ke(t.value.outline??e.value.outline)});const d=y(()=>o.value.length===0),v=y(()=>d.value&&!s.value),m=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:d.value,fixed:v.value}));return(L,b)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:N(m.value)},[p("div",Bo,[r(s)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:b[0]||(b[0]=P=>L.$emit("open-menu"))},[Eo,p("span",Do,I(r(e).sidebarMenuLabel||"Menu"),1)],8,Ho)):h("",!0),k(Ao,{headers:r(o),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),Oo=g(Fo,[["__scopeId","data-v-070ab83d"]]);function jo(){const n=T(!1);function e(){n.value=!0,window.addEventListener("resize",o)}function t(){n.value=!1,window.removeEventListener("resize",o)}function s(){n.value?t():e()}function o(){window.outerWidth>=768&&t()}const i=ne();return O(()=>i.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:s}}const Uo={},Go={class:"VPSwitch",type:"button",role:"switch"},zo={class:"check"},Ko={key:0,class:"icon"};function Ro(n,e){return a(),u("button",Go,[p("span",zo,[n.$slots.default?(a(),u("span",Ko,[c(n.$slots,"default",{},void 0,!0)])):h("",!0)])])}const qo=g(Uo,[["render",Ro],["__scopeId","data-v-4a1c76db"]]),Fe=n=>(B("data-v-e40a8bb6"),n=n(),H(),n),Wo=Fe(()=>p("span",{class:"vpi-sun sun"},null,-1)),Jo=Fe(()=>p("span",{class:"vpi-moon moon"},null,-1)),Yo=_({__name:"VPSwitchAppearance",setup(n){const{isDark:e,theme:t}=V(),s=Y("toggle-appearance",()=>{e.value=!e.value}),o=T("");return _e(()=>{o.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),$(qo,{title:o.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:f(()=>[Wo,Jo]),_:1},8,["title","aria-checked","onClick"]))}}),$e=g(Yo,[["__scopeId","data-v-e40a8bb6"]]),Xo={key:0,class:"VPNavBarAppearance"},Qo=_({__name:"VPNavBarAppearance",setup(n){const{site:e}=V();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Xo,[k($e)])):h("",!0)}}),Zo=g(Qo,[["__scopeId","data-v-af096f4a"]]),ge=T();let Oe=!1,ie=0;function xo(n){const e=T(!1);if(oe){!Oe&&es(),ie++;const t=O(ge,s=>{var o,i,l;s===n.el.value||(o=n.el.value)!=null&&o.contains(s)?(e.value=!0,(i=n.onFocus)==null||i.call(n)):(e.value=!1,(l=n.onBlur)==null||l.call(n))});he(()=>{t(),ie--,ie||ts()})}return et(e)}function es(){document.addEventListener("focusin",je),Oe=!0,ge.value=document.activeElement}function ts(){document.removeEventListener("focusin",je)}function je(){ge.value=document.activeElement}const ns={class:"VPMenuLink"},os=_({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),u("div",ns,[k(F,{class:N({active:r(q)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:f(()=>[j(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=g(os,[["__scopeId","data-v-8b74d055"]]),ss={class:"VPMenuGroup"},as={key:0,class:"title"},rs=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",ss,[e.text?(a(),u("p",as,I(e.text),1)):h("",!0),(a(!0),u(M,null,E(e.items,s=>(a(),u(M,null,["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),is=g(rs,[["__scopeId","data-v-48c802d0"]]),ls={class:"VPMenu"},cs={key:0,class:"items"},us=_({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),u("div",ls,[e.items?(a(),u("div",cs,[(a(!0),u(M,null,E(e.items,s=>(a(),u(M,{key:JSON.stringify(s)},["link"in s?(a(),$(se,{key:0,item:s},null,8,["item"])):"component"in s?(a(),$(D(s.component),K({key:1,ref_for:!0},s.props),null,16)):(a(),$(is,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),ds=g(us,[["__scopeId","data-v-7dd3104a"]]),vs=n=>(B("data-v-e5380155"),n=n(),H(),n),ps=["aria-expanded","aria-label"],fs={key:0,class:"text"},hs=["innerHTML"],_s=vs(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),ms={key:1,class:"vpi-more-horizontal icon"},bs={class:"menu"},ks=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=T(!1),t=T();xo({el:t,onBlur:s});function s(){e.value=!1}return(o,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[o.button||o.icon?(a(),u("span",fs,[o.icon?(a(),u("span",{key:0,class:N([o.icon,"option-icon"])},null,2)):h("",!0),o.button?(a(),u("span",{key:1,innerHTML:o.button},null,8,hs)):h("",!0),_s])):(a(),u("span",ms))],8,ps),p("div",bs,[k(ds,{items:o.items},{default:f(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),ye=g(ks,[["__scopeId","data-v-e5380155"]]),$s=["href","aria-label","innerHTML"],gs=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,o)=>(a(),u("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,$s))}}),ys=g(gs,[["__scopeId","data-v-717b8b75"]]),Ps={class:"VPSocialLinks"},Ss=_({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),u("div",Ps,[(a(!0),u(M,null,E(e.links,({link:s,icon:o,ariaLabel:i})=>(a(),$(ys,{key:s,icon:o,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Pe=g(Ss,[["__scopeId","data-v-ee7a9424"]]),Vs={key:0,class:"group translations"},Ls={class:"trans-title"},Ts={key:1,class:"group"},ws={class:"item appearance"},Is={class:"label"},Ns={class:"appearance-action"},Ms={key:2,class:"group"},As={class:"item social-links"},Cs=_({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=V(),{localeLinks:s,currentLang:o}=Q({correspondingLink:!0}),i=y(()=>s.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(l,d)=>i.value?(a(),$(ye,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:f(()=>[r(s).length&&r(o).label?(a(),u("div",Vs,[p("p",Ls,I(r(o).label),1),(a(!0),u(M,null,E(r(s),v=>(a(),$(se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Ts,[p("div",ws,[p("p",Is,I(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",Ns,[k($e)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Ms,[p("div",As,[k(Pe,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Bs=g(Cs,[["__scopeId","data-v-925effce"]]),Hs=n=>(B("data-v-5dea55bf"),n=n(),H(),n),Es=["aria-expanded"],Ds=Hs(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Fs=[Ds],Os=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Fs,10,Es))}}),js=g(Os,[["__scopeId","data-v-5dea55bf"]]),Us=["innerHTML"],Gs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=V();return(t,s)=>(a(),$(F,{class:N({VPNavBarMenuLink:!0,active:r(q)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:f(()=>[p("span",{innerHTML:t.item.text},null,8,Us)]),_:1},8,["class","href","noIcon","target","rel"]))}}),zs=g(Gs,[["__scopeId","data-v-ed5ac1f6"]]),Ks=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const e=n,{page:t}=V(),s=i=>"component"in i?!1:"link"in i?q(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),o=y(()=>s(e.item));return(i,l)=>(a(),$(ye,{class:N({VPNavBarMenuGroup:!0,active:r(q)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||o.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Rs=n=>(B("data-v-e6d46098"),n=n(),H(),n),qs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ws=Rs(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Js=_({__name:"VPNavBarMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",qs,[Ws,(a(!0),u(M,null,E(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(zs,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(D(o.component),K({key:1,ref_for:!0},o.props),null,16)):(a(),$(Ks,{key:2,item:o},null,8,["item"]))],64))),128))])):h("",!0)}}),Ys=g(Js,[["__scopeId","data-v-e6d46098"]]);function Xs(n){const{localeIndex:e,theme:t}=V();function s(o){var A,C,w;const i=o.split("."),l=(A=t.value.search)==null?void 0:A.options,d=l&&typeof l=="object",v=d&&((w=(C=l.locales)==null?void 0:C[e.value])==null?void 0:w.translations)||null,m=d&&l.translations||null;let L=v,b=m,P=n;const S=i.pop();for(const G of i){let z=null;const J=P==null?void 0:P[G];J&&(z=P=J);const ae=b==null?void 0:b[G];ae&&(z=b=ae);const re=L==null?void 0:L[G];re&&(z=L=re),J||(P=z),ae||(b=z),re||(L=z)}return(L==null?void 0:L[S])??(b==null?void 0:b[S])??(P==null?void 0:P[S])??""}return s}const Qs=["aria-label"],Zs={class:"DocSearch-Button-Container"},xs=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),ea={class:"DocSearch-Button-Placeholder"},ta=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Se=_({__name:"VPNavBarSearchButton",setup(n){const t=Xs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,o)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Zs,[xs,p("span",ea,I(r(t)("button.buttonText")),1)]),ta],8,Qs))}}),na={class:"VPNavBarSearch"},oa={id:"local-search"},sa={key:1,id:"docsearch"},aa=_({__name:"VPNavBarSearch",setup(n){const e=tt(()=>nt(()=>import("./VPLocalSearchBox.0SAS8vGp.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=V(),o=T(!1),i=T(!1);R(()=>{});function l(){o.value||(o.value=!0,setTimeout(d,16))}function d(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v(b){const P=b.target,S=P.tagName;return P.isContentEditable||S==="INPUT"||S==="SELECT"||S==="TEXTAREA"}const m=T(!1);ce("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),m.value=!0)}),ce("/",b=>{v(b)||(b.preventDefault(),m.value=!0)});const L="local";return(b,P)=>{var S;return a(),u("div",na,[r(L)==="local"?(a(),u(M,{key:0},[m.value?(a(),$(r(e),{key:0,onClose:P[0]||(P[0]=A=>m.value=!1)})):h("",!0),p("div",oa,[k(Se,{onClick:P[1]||(P[1]=A=>m.value=!0)})])],64)):r(L)==="algolia"?(a(),u(M,{key:1},[o.value?(a(),$(r(t),{key:0,algolia:((S=r(s).search)==null?void 0:S.options)??r(s).algolia,onVnodeBeforeMount:P[2]||(P[2]=A=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",sa,[k(Se,{onClick:l})]))],64)):h("",!0)])}}}),ra=_({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Pe,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ia=g(ra,[["__scopeId","data-v-164c457f"]]),la=["href","rel","target"],ca={key:1},ua={key:2},da=_({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=V(),{hasSidebar:s}=U(),{currentLang:o}=Q(),i=y(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=y(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,m)=>(a(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(s)}])},[p("a",{class:"title",href:i.value??r(be)(r(o).link),rel:l.value,target:d.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),$(x,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",ca,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),u("span",ua,I(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,la)],2))}}),va=g(da,[["__scopeId","data-v-28a961f9"]]),pa={class:"items"},fa={class:"title"},ha=_({__name:"VPNavBarTranslations",setup(n){const{theme:e}=V(),{localeLinks:t,currentLang:s}=Q({correspondingLink:!0});return(o,i)=>r(t).length&&r(s).label?(a(),$(ye,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:f(()=>[p("div",pa,[p("p",fa,I(r(s).label),1),(a(!0),u(M,null,E(r(t),l=>(a(),$(se,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),_a=g(ha,[["__scopeId","data-v-c80d9ad0"]]),ma=n=>(B("data-v-822684d1"),n=n(),H(),n),ba={class:"wrapper"},ka={class:"container"},$a={class:"title"},ga={class:"content"},ya={class:"content-body"},Pa=ma(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),Sa=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const e=n,{y:t}=Me(),{hasSidebar:s}=U(),{frontmatter:o}=V(),i=T({});return _e(()=>{i.value={"has-sidebar":s.value,home:o.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,d)=>(a(),u("div",{class:N(["VPNavBar",i.value])},[p("div",ba,[p("div",ka,[p("div",$a,[k(va,null,{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",ga,[p("div",ya,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),k(aa,{class:"search"}),k(Ys,{class:"menu"}),k(_a,{class:"translations"}),k(Zo,{class:"appearance"}),k(ia,{class:"social-links"}),k(Bs,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),k(js,{class:"hamburger",active:l.isScreenOpen,onClick:d[0]||(d[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),Pa],2))}}),Va=g(Sa,[["__scopeId","data-v-822684d1"]]),La={key:0,class:"VPNavScreenAppearance"},Ta={class:"text"},wa=_({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=V();return(s,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",La,[p("p",Ta,I(r(t).darkModeSwitchLabel||"Appearance"),1),k($e)])):h("",!0)}}),Ia=g(wa,[["__scopeId","data-v-ffb44008"]]),Na=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),Ma=g(Na,[["__scopeId","data-v-27d04aeb"]]),Aa=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=Y("close-screen");return(t,s)=>(a(),$(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:f(()=>[j(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ue=g(Aa,[["__scopeId","data-v-7179dbb7"]]),Ca={class:"VPNavScreenMenuGroupSection"},Ba={key:0,class:"title"},Ha=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),u("div",Ca,[e.text?(a(),u("p",Ba,I(e.text),1)):h("",!0),(a(!0),u(M,null,E(e.items,s=>(a(),$(Ue,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ea=g(Ha,[["__scopeId","data-v-4b8941ac"]]),Da=n=>(B("data-v-875057a5"),n=n(),H(),n),Fa=["aria-controls","aria-expanded"],Oa=["innerHTML"],ja=Da(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),Ua=["id"],Ga={key:0,class:"item"},za={key:1,class:"item"},Ka={key:2,class:"group"},Ra=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=T(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:o},[p("span",{class:"button-text",innerHTML:i.text},null,8,Oa),ja],8,Fa),p("div",{id:s.value,class:"items"},[(a(!0),u(M,null,E(i.items,d=>(a(),u(M,{key:JSON.stringify(d)},["link"in d?(a(),u("div",Ga,[k(Ue,{item:d},null,8,["item"])])):"component"in d?(a(),u("div",za,[(a(),$(D(d.component),K({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(a(),u("div",Ka,[k(Ea,{text:d.text,items:d.items},null,8,["text","items"])]))],64))),128))],8,Ua)],2))}}),qa=g(Ra,[["__scopeId","data-v-875057a5"]]),Wa={key:0,class:"VPNavScreenMenu"},Ja=_({__name:"VPNavScreenMenu",setup(n){const{theme:e}=V();return(t,s)=>r(e).nav?(a(),u("nav",Wa,[(a(!0),u(M,null,E(r(e).nav,o=>(a(),u(M,{key:JSON.stringify(o)},["link"in o?(a(),$(Ma,{key:0,item:o},null,8,["item"])):"component"in o?(a(),$(D(o.component),K({key:1,ref_for:!0},o.props,{"screen-menu":""}),null,16)):(a(),$(qa,{key:2,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Ya=_({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=V();return(t,s)=>r(e).socialLinks?(a(),$(Pe,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Ge=n=>(B("data-v-362991c2"),n=n(),H(),n),Xa=Ge(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Qa=Ge(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Za={class:"list"},xa=_({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=Q({correspondingLink:!0}),s=T(!1);function o(){s.value=!s.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[p("button",{class:"title",onClick:o},[Xa,j(" "+I(r(t).label)+" ",1),Qa]),p("ul",Za,[(a(!0),u(M,null,E(r(e),d=>(a(),u("li",{key:d.link,class:"item"},[k(F,{class:"link",href:d.link},{default:f(()=>[j(I(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),er=g(xa,[["__scopeId","data-v-362991c2"]]),tr={class:"container"},nr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=T(null),t=Ae(oe?document.body:null);return(s,o)=>(a(),$(pe,{name:"fade",onEnter:o[0]||(o[0]=i=>t.value=!0),onAfterLeave:o[1]||(o[1]=i=>t.value=!1)},{default:f(()=>[s.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",tr,[c(s.$slots,"nav-screen-content-before",{},void 0,!0),k(Ja,{class:"menu"}),k(er,{class:"translations"}),k(Ia,{class:"appearance"}),k(Ya,{class:"social-links"}),c(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),or=g(nr,[["__scopeId","data-v-833aabba"]]),sr={key:0,class:"VPNav"},ar=_({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=jo(),{frontmatter:o}=V(),i=y(()=>o.value.navbar!==!1);return me("close-screen",t),ee(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,d)=>i.value?(a(),u("header",sr,[k(Va,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":f(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),k(or,{open:r(e)},{"nav-screen-content-before":f(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),rr=g(ar,[["__scopeId","data-v-f1e365da"]]),ze=n=>(B("data-v-196b2e5f"),n=n(),H(),n),ir=["role","tabindex"],lr=ze(()=>p("div",{class:"indicator"},null,-1)),cr=ze(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),ur=[cr],dr={key:1,class:"items"},vr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:s,isLink:o,isActiveLink:i,hasActiveLink:l,hasChildren:d,toggle:v}=It(y(()=>e.item)),m=y(()=>d.value?"section":"div"),L=y(()=>o.value?"a":"div"),b=y(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=y(()=>o.value?void 0:"button"),S=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":o.value},{"is-active":i.value},{"has-active":l.value}]);function A(w){"key"in w&&w.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(w,G)=>{const z=W("VPSidebarItem",!0);return a(),$(D(m.value),{class:N(["VPSidebarItem",S.value])},{default:f(()=>[w.item.text?(a(),u("div",K({key:0,class:"item",role:P.value},st(w.item.items?{click:A,keydown:A}:{},!0),{tabindex:w.item.items&&0}),[lr,w.item.link?(a(),$(F,{key:0,tag:L.value,class:"link",href:w.item.link,rel:w.item.rel,target:w.item.target},{default:f(()=>[(a(),$(D(b.value),{class:"text",innerHTML:w.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),$(D(b.value),{key:1,class:"text",innerHTML:w.item.text},null,8,["innerHTML"])),w.item.collapsed!=null&&w.item.items&&w.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:ot(C,["enter"]),tabindex:"0"},ur,32)):h("",!0)],16,ir)):h("",!0),w.item.items&&w.item.items.length?(a(),u("div",dr,[w.depth<5?(a(!0),u(M,{key:0},E(w.item.items,J=>(a(),$(z,{key:J.text,item:J,depth:w.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),pr=g(vr,[["__scopeId","data-v-196b2e5f"]]),fr=_({__name:"VPSidebarGroup",props:{items:{}},setup(n){const e=T(!0);let t=null;return R(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),at(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,o)=>(a(!0),u(M,null,E(s.items,i=>(a(),u("div",{key:i.text,class:N(["group",{"no-transition":e.value}])},[k(pr,{item:i,depth:0},null,8,["item"])],2))),128))}}),hr=g(fr,[["__scopeId","data-v-9e426adc"]]),Ke=n=>(B("data-v-18756405"),n=n(),H(),n),_r=Ke(()=>p("div",{class:"curtain"},null,-1)),mr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},br=Ke(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),kr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const{sidebarGroups:e,hasSidebar:t}=U(),s=n,o=T(null),i=Ae(oe?document.body:null);O([s,o],()=>{var d;s.open?(i.value=!0,(d=o.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return O(e,()=>{l.value+=1},{deep:!0}),(d,v)=>r(t)?(a(),u("aside",{key:0,class:N(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:v[0]||(v[0]=rt(()=>{},["stop"]))},[_r,p("nav",mr,[br,c(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(),$(hr,{items:r(e),key:l.value},null,8,["items"])),c(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),$r=g(kr,[["__scopeId","data-v-18756405"]]),gr=_({__name:"VPSkipLink",setup(n){const e=ne(),t=T();O(()=>e.path,()=>t.value.focus());function s({target:o}){const i=document.getElementById(decodeURIComponent(o.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(o,i)=>(a(),u(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),yr=g(gr,[["__scopeId","data-v-c3508ec8"]]),Pr=_({__name:"Layout",setup(n){const{isOpen:e,open:t,close:s}=U(),o=ne();O(()=>o.path,s),wt(e,s);const{frontmatter:i}=V(),l=Ce(),d=y(()=>!!l["home-hero-image"]);return me("hero-image-slot-exists",d),(v,m)=>{const L=W("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:N(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),k(yr),k(pt,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),k(rr,null,{"nav-bar-title-before":f(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":f(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":f(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":f(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":f(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":f(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),k(Oo,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),k($r,{open:r(e)},{"sidebar-nav-before":f(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":f(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),k(ko,null,{"page-top":f(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":f(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":f(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":f(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":f(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":f(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":f(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":f(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":f(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":f(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":f(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":f(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":f(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":f(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":f(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":f(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":f(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":f(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":f(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":f(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":f(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":f(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":f(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),k(So),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),$(L,{key:1}))}}}),Sr=g(Pr,[["__scopeId","data-v-a9a9e638"]]),Ve={Layout:Sr,enhanceApp:({app:n})=>{n.component("Badge",ut)}},Vr=n=>{if(typeof document>"u")return{stabilizeScrollPosition:o=>async(...i)=>o(...i)};const e=document.documentElement;return{stabilizeScrollPosition:s=>async(...o)=>{const i=s(...o),l=n.value;if(!l)return i;const d=l.offsetTop-e.scrollTop;return await Ne(),e.scrollTop=l.offsetTop-d,i}}},Re="vitepress:tabSharedState",X=typeof localStorage<"u"?localStorage:null,qe="vitepress:tabsSharedState",Lr=()=>{const n=X==null?void 0:X.getItem(qe);if(n)try{return JSON.parse(n)}catch{}return{}},Tr=n=>{X&&X.setItem(qe,JSON.stringify(n))},wr=n=>{const e=it({});O(()=>e.content,(t,s)=>{t&&s&&Tr(t)},{deep:!0}),n.provide(Re,e)},Ir=(n,e)=>{const t=Y(Re);if(!t)throw new Error("[vitepress-plugin-tabs] TabsSharedState should be injected");R(()=>{t.content||(t.content=Lr())});const s=T(),o=y({get(){var v;const l=e.value,d=n.value;if(l){const m=(v=t.content)==null?void 0:v[l];if(m&&d.includes(m))return m}else{const m=s.value;if(m)return m}return d[0]},set(l){const d=e.value;d?t.content&&(t.content[d]=l):s.value=l}});return{selected:o,select:l=>{o.value=l}}};let Le=0;const Nr=()=>(Le++,""+Le);function Mr(){const n=Ce();return y(()=>{var s;const t=(s=n.default)==null?void 0:s.call(n);return t?t.filter(o=>typeof o.type=="object"&&"__name"in o.type&&o.type.__name==="PluginTabsTab"&&o.props).map(o=>{var i;return(i=o.props)==null?void 0:i.label}):[]})}const We="vitepress:tabSingleState",Ar=n=>{me(We,n)},Cr=()=>{const n=Y(We);if(!n)throw new Error("[vitepress-plugin-tabs] TabsSingleState should be injected");return n},Br={class:"plugin-tabs"},Hr=["id","aria-selected","aria-controls","tabindex","onClick"],Er=_({__name:"PluginTabs",props:{sharedStateKey:{}},setup(n){const e=n,t=Mr(),{selected:s,select:o}=Ir(t,lt(e,"sharedStateKey")),i=T(),{stabilizeScrollPosition:l}=Vr(i),d=l(o),v=T([]),m=b=>{var A;const P=t.value.indexOf(s.value);let S;b.key==="ArrowLeft"?S=P>=1?P-1:t.value.length-1:b.key==="ArrowRight"&&(S=P(a(),u("div",Br,[p("div",{ref_key:"tablist",ref:i,class:"plugin-tabs--tab-list",role:"tablist",onKeydown:m},[(a(!0),u(M,null,E(r(t),S=>(a(),u("button",{id:`tab-${S}-${r(L)}`,ref_for:!0,ref_key:"buttonRefs",ref:v,key:S,role:"tab",class:"plugin-tabs--tab","aria-selected":S===r(s),"aria-controls":`panel-${S}-${r(L)}`,tabindex:S===r(s)?0:-1,onClick:()=>r(d)(S)},I(S),9,Hr))),128))],544),c(b.$slots,"default")]))}}),Dr=["id","aria-labelledby"],Fr=_({__name:"PluginTabsTab",props:{label:{}},setup(n){const{uid:e,selected:t}=Cr();return(s,o)=>r(t)===s.label?(a(),u("div",{key:0,id:`panel-${s.label}-${r(e)}`,class:"plugin-tabs--content",role:"tabpanel",tabindex:"0","aria-labelledby":`tab-${s.label}-${r(e)}`},[c(s.$slots,"default",{},void 0,!0)],8,Dr)):h("",!0)}}),Or=g(Fr,[["__scopeId","data-v-9b0d03d2"]]),jr=n=>{wr(n),n.component("PluginTabs",Er),n.component("PluginTabsTab",Or)},Gr={extends:Ve,Layout(){return ct(Ve.Layout,null,{})},enhanceApp({app:n,router:e,siteData:t}){jr(n)}};export{Gr as R,Xs as c,V as u}; diff --git a/dev/assets/georegions_create.md.DGRT2KfF.js b/dev/assets/georegions_create.md.DttYQm49.js similarity index 95% rename from dev/assets/georegions_create.md.DGRT2KfF.js rename to dev/assets/georegions_create.md.DttYQm49.js index 3652c9c6..f3b71173 100644 --- a/dev/assets/georegions_create.md.DGRT2KfF.js +++ b/dev/assets/georegions_create.md.DttYQm49.js @@ -1,13 +1,13 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const y=JSON.parse('{"title":"Creating GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"georegions/create.md","filePath":"georegions/create.md","lastUpdated":null}'),n={name:"georegions/create.md"},k=h(`

Creating GeoRegions

In this section, we go through the basic steps of creating a GeoRegion, and removing it once defined so it can be redefined.

Defining a new GeoRegion

We use the functions RectRegion and PolyRegion to define rectilinear and polygonal regions respectively. For example, we construct the sample RectRegion TRC

julia
julia> using GeoRegions
 
 julia> RectRegion("TRC","GLB","Test Rectangle Region",[30,20,50,10])
-[ Info: 2024-07-26T20:03:50.044 - GeoRegions.jl - Checking to see if the ID TRC is in use
-┌ Warning: 2024-07-26T20:03:50.128 - GeoRegions.jl - TRC is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
+[ Info: 2024-07-26T20:59:43.572 - GeoRegions.jl - Checking to see if the ID TRC is in use
+┌ Warning: 2024-07-26T20:59:43.658 - GeoRegions.jl - TRC is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:562
-[ Info: 2024-07-26T20:03:50.131 - GeoRegions.jl - Adding the GeoRegion TRC to the list.
-[ Info: 2024-07-26T20:03:50.157 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
-[ Info: 2024-07-26T20:03:50.612 - GeoRegions.jl - Performing a check to determine if the Test Rectangle Region GeoRegion (TRC) is inside the Globe GeoRegion (GLB)
-[ Info: 2024-07-26T20:03:50.612 - GeoRegions.jl - The GeoRegion TRC (Test Rectangle Region) is indeed a subset of the GeoRegion GLB (Globe)
+[ Info: 2024-07-26T20:59:43.660 - GeoRegions.jl - Adding the GeoRegion TRC to the list.
+[ Info: 2024-07-26T20:59:43.686 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
+[ Info: 2024-07-26T20:59:44.139 - GeoRegions.jl - Performing a check to determine if the Test Rectangle Region GeoRegion (TRC) is inside the Globe GeoRegion (GLB)
+[ Info: 2024-07-26T20:59:44.139 - GeoRegions.jl - The GeoRegion TRC (Test Rectangle Region) is indeed a subset of the GeoRegion GLB (Globe)
 The Rectilinear Region TRC has the following properties:
     Region ID    (ID) : TRC
     Parent ID   (pID) : GLB
@@ -16,13 +16,13 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const y
         (is180,is360) : (false, true)
 
 julia> PolyRegion("TPL","GLB","Test Polygonal Region",[30,40,50,40,30],[20,30,20,10,20])
-[ Info: 2024-07-26T20:03:51.137 - GeoRegions.jl - Checking to see if the ID TPL is in use
-┌ Warning: 2024-07-26T20:03:51.137 - GeoRegions.jl - TPL is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
+[ Info: 2024-07-26T20:59:44.867 - GeoRegions.jl - Checking to see if the ID TPL is in use
+┌ Warning: 2024-07-26T20:59:44.868 - GeoRegions.jl - TPL is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:562
-[ Info: 2024-07-26T20:03:51.137 - GeoRegions.jl - Adding the GeoRegion TPL to the list.
-[ Info: 2024-07-26T20:03:51.285 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
-[ Info: 2024-07-26T20:03:51.324 - GeoRegions.jl - Performing a check to determine if the Test Polygonal Region GeoRegion (TPL) is inside the Globe GeoRegion (GLB)
-[ Info: 2024-07-26T20:03:51.324 - GeoRegions.jl - The GeoRegion TPL (Test Polygonal Region) is indeed a subset of the GeoRegion GLB (Globe)
+[ Info: 2024-07-26T20:59:44.868 - GeoRegions.jl - Adding the GeoRegion TPL to the list.
+[ Info: 2024-07-26T20:59:45.016 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
+[ Info: 2024-07-26T20:59:45.055 - GeoRegions.jl - Performing a check to determine if the Test Polygonal Region GeoRegion (TPL) is inside the Globe GeoRegion (GLB)
+[ Info: 2024-07-26T20:59:45.055 - GeoRegions.jl - The GeoRegion TPL (Test Polygonal Region) is indeed a subset of the GeoRegion GLB (Globe)
 The Polygonal Region TPL has the following properties:
     Region ID    (ID) : TPL
     Parent ID   (pID) : GLB
@@ -32,9 +32,9 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const y
         (is180,is360) : (false, true)

Defining PolyRegions

When defining PolyRegions, the first and last set of (lon,lat) coordinates must be the same (i.e. a closed polygon must be defined)

The GeoRegions will be automatically added to the following files in joinpath(DEPOT_PATH[1],"files","GeoRegions"):

  • RectRegions will be added to rectlist.txt

  • PolyRegions will be added to polylist.txt

If the GeoRegion ID TRC already exists, however, this will throw an error

julia
julia> using GeoRegions
 
 julia> RectRegion("TRC","GLB","Test Rectangle Region2",[40,20,52,10])
-[ Info: 2024-07-26T20:03:51.865 - GeoRegions.jl - Checking to see if the ID TRC is in use
-[ Info: 2024-07-26T20:03:51.865 - GeoRegions.jl - The ID TRC is already in use
-ERROR: 2024-07-26T20:03:51.865 - GeoRegions.jl - The GeoRegion TRC has already been defined.  Please use another identifier.
# GeoRegions.RectRegionMethod.
julia
RectRegion(
+[ Info: 2024-07-26T20:59:45.558 - GeoRegions.jl - Checking to see if the ID TRC is in use
+[ Info: 2024-07-26T20:59:45.558 - GeoRegions.jl - The ID TRC is already in use
+ERROR: 2024-07-26T20:59:45.558 - GeoRegions.jl - The GeoRegion TRC has already been defined.  Please use another identifier.
# GeoRegions.RectRegionMethod.
julia
RectRegion(
     RegID :: AbstractString,
     ParID :: AbstractString,
     name  :: AbstractString,
@@ -44,7 +44,7 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const y
     verbose :: Bool = true,
     ST = String,
     FT = Float64
-) -> RectRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • bound : The [N,S,E,W] coordinates defining the region

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

source


# GeoRegions.PolyRegionMethod.
julia
PolyRegion(
+) -> RectRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • bound : The [N,S,E,W] coordinates defining the region

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

source


# GeoRegions.PolyRegionMethod.
julia
PolyRegion(
     RegID :: AbstractString,
     ParID :: AbstractString,
     name  :: AbstractString,
@@ -55,25 +55,25 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const y
     verbose :: Bool = true,
     ST = String,
     FT = Float64
-) -> PolyRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • lon : A vector containing the longitude points

  • lat : A vector containing the latitude points

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

Start and End Points

The 1st and last elements of lon and lat must be equal.

source


Is it already a GeoRegion?

Sometimes we would like to independently check if an ID has already been used. We can use the function isGeoRegion() to perform this checkIf the GeoRegion IDTRC\` already exists, however, this will throw an error

# GeoRegions.isGeoRegionFunction.
julia
isGeoRegion(
+) -> PolyRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • lon : A vector containing the longitude points

  • lat : A vector containing the latitude points

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

Start and End Points

The 1st and last elements of lon and lat must be equal.

source


Is it already a GeoRegion?

Sometimes we would like to independently check if an ID has already been used. We can use the function isGeoRegion() to perform this checkIf the GeoRegion IDTRC\` already exists, however, this will throw an error

# GeoRegions.isGeoRegionFunction.
julia
isGeoRegion(
     geoID :: AbstractString;
     throw :: Bool = true
-) -> tf :: Bool

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

  • throw : If true, then throws an error if geoID is not a valid GeoRegion identifier instead of returning the Boolean tf

Returns

  • tf : True / False

source


julia
julia> using GeoRegions
+) -> tf :: Bool

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

  • throw : If true, then throws an error if geoID is not a valid GeoRegion identifier instead of returning the Boolean tf

Returns

  • tf : True / False

source


julia
julia> using GeoRegions
 
 julia> isGeoRegion("AR6_SEA")
-[ Info: 2024-07-26T20:03:52.669 - GeoRegions.jl - Checking to see if the ID AR6_SEA is in use
-[ Info: 2024-07-26T20:03:52.669 - GeoRegions.jl - The ID AR6_SEA is already in use
+[ Info: 2024-07-26T20:59:46.132 - GeoRegions.jl - Checking to see if the ID AR6_SEA is in use
+[ Info: 2024-07-26T20:59:46.133 - GeoRegions.jl - The ID AR6_SEA is already in use
 true
 
 julia> isGeoRegion("RND",throw=false)
-[ Info: 2024-07-26T20:03:52.682 - GeoRegions.jl - Checking to see if the ID RND is in use
-┌ Warning: 2024-07-26T20:03:52.682 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
+[ Info: 2024-07-26T20:59:46.144 - GeoRegions.jl - Checking to see if the ID RND is in use
+┌ Warning: 2024-07-26T20:59:46.144 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:562
 false
 
 julia> isGeoRegion("RND")
-[ Info: 2024-07-26T20:03:52.683 - GeoRegions.jl - Checking to see if the ID RND is in use
-ERROR: 2024-07-26T20:03:52.683 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Removing an existing GeoRegion

To remove an existing GeoRegion, we can use the function removeGeoRegion

julia
julia> using GeoRegions
+[ Info: 2024-07-26T20:59:46.145 - GeoRegions.jl - Checking to see if the ID RND is in use
+ERROR: 2024-07-26T20:59:46.145 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Removing an existing GeoRegion

To remove an existing GeoRegion, we can use the function removeGeoRegion

julia
julia> using GeoRegions
 
 julia> removeGeoRegion("TRC")
 ERROR: UndefVarError: \`removeGeoRegion\` not defined

Global GeoRegion

The Global GeoRegion GLB is considered to be an integral part of the GeoRegions.jl package and therefore it cannot be removed.

julia
julia> using GeoRegions
diff --git a/dev/assets/georegions_create.md.DGRT2KfF.lean.js b/dev/assets/georegions_create.md.DttYQm49.lean.js
similarity index 100%
rename from dev/assets/georegions_create.md.DGRT2KfF.lean.js
rename to dev/assets/georegions_create.md.DttYQm49.lean.js
diff --git a/dev/assets/georegions_intro.md.CwvHjD0U.js b/dev/assets/georegions_intro.md.CXPMdQ0A.js
similarity index 93%
rename from dev/assets/georegions_intro.md.CwvHjD0U.js
rename to dev/assets/georegions_intro.md.CXPMdQ0A.js
index 3b465060..941b4292 100644
--- a/dev/assets/georegions_intro.md.CwvHjD0U.js
+++ b/dev/assets/georegions_intro.md.CXPMdQ0A.js
@@ -1,2 +1,2 @@
-import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const f=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions/intro.md","filePath":"georegions/intro.md","lastUpdated":null}'),a={name:"georegions/intro.md"},n=t(`

What is a GeoRegion?

Simply put, a GeoRegion is a geographic region. In v1 of GeoRegions.jl, a GeoRegion could only be rectilinear in shape. However, as of GeoRegions.jl v2, we use Julia types to differentiate between rectilinear GeoRegions, and GeoRegions of arbitrary polygonal shape:

  • Rectilinear GeoRegions are denoted by the RectRegion type

  • Polygonal GeoRegions are denoted by the PolyRegion type

The main difference between a PolyRegion and a RectRegion, is that a PolyRegion also contains a mask field which allows us to extract a data field of a polygonal shape from the rectilinear bounds that are the natural result of a rectilinear grid.

# GeoRegions.GeoRegionType.
julia
GeoRegion

Abstract supertype for geographical regions, with the following subtypes:

RectRegion{ST<:AbstractString, FT<:Real} <: GeoRegion
-PolyRegion{ST<:AbstractString, FT<:Real} <: GeoRegion

Both RectRegion and PolyRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion

  • pID - A String Type, the identifier for the parent GeoRegion

  • name - A String Type, the full name of the GeoRegion

  • N - A Float Type, the north boundary of the GeoRegion

  • S - A Float Type, the south boundary of the GeoRegion

  • E - A Float Type, the east boundary of the GeoRegion

  • W - A Float Type, the est boundary of the GeoRegion

  • is180 - A Bool Type, is W < 0

  • is360 - A Bool Type, is E > 180

A PolyRegion type will also contain the following field:

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

source


In essence, a GeoRegion is:

  • a geographical region that can be either rectilinear region, or a polygonal shape within a specified rectilinear bound.

  • identified by an ID

  • itself a subregion of a parent GeoRegion (identified by pID, which must itself be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

`,9),d=[n];function l(c,s,p,r,g,h){return i(),o("div",null,d)}const R=e(a,[["render",l]]);export{f as __pageData,R as default}; +import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const R=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions/intro.md","filePath":"georegions/intro.md","lastUpdated":null}'),a={name:"georegions/intro.md"},n=t(`

What is a GeoRegion?

Simply put, a GeoRegion is a geographic region. In v1 of GeoRegions.jl, a GeoRegion could only be rectilinear in shape. However, as of GeoRegions.jl v2, we use Julia types to differentiate between rectilinear GeoRegions, and GeoRegions of arbitrary polygonal shape:

  • Rectilinear GeoRegions are denoted by the RectRegion type

  • Polygonal GeoRegions are denoted by the PolyRegion type

The main difference between a PolyRegion and a RectRegion, is that a PolyRegion also contains a mask field which allows us to extract a data field of a polygonal shape from the rectilinear bounds that are the natural result of a rectilinear grid.

# GeoRegions.GeoRegionType.
julia
GeoRegion

Abstract supertype for geographical regions, with the following subtypes:

RectRegion{ST<:AbstractString, FT<:Real} <: GeoRegion
+PolyRegion{ST<:AbstractString, FT<:Real} <: GeoRegion

Both RectRegion and PolyRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion

  • pID - A String Type, the identifier for the parent GeoRegion

  • name - A String Type, the full name of the GeoRegion

  • N - A Float Type, the north boundary of the GeoRegion

  • S - A Float Type, the south boundary of the GeoRegion

  • E - A Float Type, the east boundary of the GeoRegion

  • W - A Float Type, the est boundary of the GeoRegion

  • is180 - A Bool Type, is W < 0

  • is360 - A Bool Type, is E > 180

A PolyRegion type will also contain the following field:

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

source


In essence, a GeoRegion is:

  • a geographical region that can be either rectilinear region, or a polygonal shape within a specified rectilinear bound.

  • identified by an ID

  • itself a subregion of a parent GeoRegion (identified by pID, which must itself be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

`,9),d=[n];function l(c,s,p,r,g,h){return i(),o("div",null,d)}const b=e(a,[["render",l]]);export{R as __pageData,b as default}; diff --git a/dev/assets/georegions_intro.md.CwvHjD0U.lean.js b/dev/assets/georegions_intro.md.CXPMdQ0A.lean.js similarity index 59% rename from dev/assets/georegions_intro.md.CwvHjD0U.lean.js rename to dev/assets/georegions_intro.md.CXPMdQ0A.lean.js index a6b2528e..893e53a7 100644 --- a/dev/assets/georegions_intro.md.CwvHjD0U.lean.js +++ b/dev/assets/georegions_intro.md.CXPMdQ0A.lean.js @@ -1 +1 @@ -import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const f=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions/intro.md","filePath":"georegions/intro.md","lastUpdated":null}'),a={name:"georegions/intro.md"},n=t("",9),d=[n];function l(c,s,p,r,g,h){return i(),o("div",null,d)}const R=e(a,[["render",l]]);export{f as __pageData,R as default}; +import{_ as e,c as o,o as i,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const R=JSON.parse('{"title":"What is a GeoRegion?","description":"","frontmatter":{},"headers":[],"relativePath":"georegions/intro.md","filePath":"georegions/intro.md","lastUpdated":null}'),a={name:"georegions/intro.md"},n=t("",9),d=[n];function l(c,s,p,r,g,h){return i(),o("div",null,d)}const b=e(a,[["render",l]]);export{R as __pageData,b as default}; diff --git a/dev/assets/georegions_predefined.md.DsRvT2RP.js b/dev/assets/georegions_predefined.md.BNMn-hkR.js similarity index 98% rename from dev/assets/georegions_predefined.md.DsRvT2RP.js rename to dev/assets/georegions_predefined.md.BNMn-hkR.js index 2cc7d920..10a7438d 100644 --- a/dev/assets/georegions_predefined.md.DsRvT2RP.js +++ b/dev/assets/georegions_predefined.md.BNMn-hkR.js @@ -1,7 +1,7 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const o=JSON.parse('{"title":"List of Available GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"georegions/predefined.md","filePath":"georegions/predefined.md","lastUpdated":null}'),n={name:"georegions/predefined.md"},k=h(`

List of Available GeoRegions

This page contains a list of the GeoRegions that are currently available in GeoRegions.jl.

The default GeoRegion covers the global domain identified as GLB

julia
julia> using GeoRegions
 
 julia> GeoRegion("GLB")
-[ Info: 2024-07-26T20:03:52.755 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
+[ Info: 2024-07-26T20:59:46.214 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
 The Rectilinear Region GLB has the following properties:
     Region ID    (ID) : GLB
     Parent ID   (pID) : GLB
@@ -10,7 +10,7 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const o
         (is180,is360) : (false, true)

Adapted from Giorgi & Francisco [2000]

Add the GF_ prefix to the 3-letter IDs given in Giorgi & Francisco [2000] to call GeoRegions adapted from this paper. All GeoRegions are defined as the RectRegion type.

Defined in GeoRegions > 1.1

All GF_* domains are defined only in versions ≥1.1

julia
julia> using GeoRegions
 
 julia> GeoRegion("GF_WAF")
-[ Info: 2024-07-26T20:03:52.758 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GF_WAF
+[ Info: 2024-07-26T20:59:46.216 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GF_WAF
 The Rectilinear Region GF_WAF has the following properties:
     Region ID    (ID) : GF_WAF
     Parent ID   (pID) : GLB
@@ -19,7 +19,7 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const o
         (is180,is360) : (true, false)

SREX Regions adapted from Seneviratne et al. [2012]

Add the SRX_ prefix to the 3-letter IDs given in Seneviratne et al. [2012] to call GeoRegions adapted from this paper. All GeoRegions are defined as the PolyRegion type, even though many of them are rectilinear.

Defined in GeoRegions ≧ 2

All SRX_* domains are defined only in versions ≥2

julia
julia> using GeoRegions
 
 julia> GeoRegion("SRX_CNA")
-[ Info: 2024-07-26T20:03:52.761 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID SRX_CNA
+[ Info: 2024-07-26T20:59:46.219 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID SRX_CNA
 The Polygonal Region SRX_CNA has the following properties:
     Region ID    (ID) : SRX_CNA
     Parent ID   (pID) : GLB
@@ -29,7 +29,7 @@ import{_ as s,c as i,o as a,a7 as h}from"./chunks/framework.D-rV3Mrg.js";const o
         (is180,is360) : (true, false)

AR6 Regions adapted from Iturbide et al., [2020]

Add the AR6_ prefix to the 3-letter IDs given in Iturbide et al., [2020] to call GeoRegions adapted from this paper. All GeoRegions are defined as the PolyRegion type.

Defined in GeoRegions ≧ 2

All AR6_* domains are defined only in versions ≥2

julia
julia> using GeoRegions
 
 julia> GeoRegion("AR6_EAS")
-[ Info: 2024-07-26T20:03:52.772 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID AR6_EAS
+[ Info: 2024-07-26T20:59:46.230 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID AR6_EAS
 The Polygonal Region AR6_EAS has the following properties:
     Region ID    (ID) : AR6_EAS
     Parent ID   (pID) : GLB
diff --git a/dev/assets/georegions_predefined.md.DsRvT2RP.lean.js b/dev/assets/georegions_predefined.md.BNMn-hkR.lean.js
similarity index 100%
rename from dev/assets/georegions_predefined.md.DsRvT2RP.lean.js
rename to dev/assets/georegions_predefined.md.BNMn-hkR.lean.js
diff --git a/dev/assets/georegions_read.md.D7dhWMJy.js b/dev/assets/georegions_read.md.g9W6EO8y.js
similarity index 98%
rename from dev/assets/georegions_read.md.D7dhWMJy.js
rename to dev/assets/georegions_read.md.g9W6EO8y.js
index ee004bb0..df25f805 100644
--- a/dev/assets/georegions_read.md.D7dhWMJy.js
+++ b/dev/assets/georegions_read.md.g9W6EO8y.js
@@ -12,7 +12,7 @@ import{_ as i,c as s,o as e,a7 as a}from"./chunks/framework.D-rV3Mrg.js";const u
     Name       (name) : Northwest North America
     Bounds  (N,S,E,W) : [81.0, 50.0, -105.0, -168.0]
     Shape     (shape) : Point{2, Float64}[[-105.0, 50.0], [-130.0, 50.0], [-143.0, 58.0], [-168.0, 52.5], [-168.0, 72.6], [-129.0, 72.6], [-125.0, 77.6], [-105.0, 81.0], [-105.0, 50.0]]
-        (is180,is360) : (true, false)
# GeoRegions.GeoRegionMethod.
julia
GeoRegion(geoID::AbstractString) -> geo::GeoRegion

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Returns

  • geo : A GeoRegion

source


The Difference between Bounds and Shape in a PolyRegion

What is the difference between the fields bound and shape in a PolyRegion? The answer is simple: a bound is a rectilinear-region in the lon-lat coordinate system, while the shape denotes the actual PolyRegion. We retrieve the longitude and latitude coordinates for the bound and shape fields using the function coordGeoRegion().

Bound and Shape in RectRegion

There is no field shape in a RectRegion because the shape of a RectRegion is defined by its rectilinear bound.

@example
blon,blat,slon,slat = coordGeoRegion(GeoRegion("AR6_NWN"))

From plotting the bounds (blon,blat) and the shape(slon,slat), we see that the bound is the region defined by the westernmost, easternmost, northernmost and southernmost coordinates of the shape.

@example
aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
+        (is180,is360) : (true, false)
# GeoRegions.GeoRegionMethod.
julia
GeoRegion(geoID::AbstractString) -> geo::GeoRegion

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Returns

  • geo : A GeoRegion

source


The Difference between Bounds and Shape in a PolyRegion

What is the difference between the fields bound and shape in a PolyRegion? The answer is simple: a bound is a rectilinear-region in the lon-lat coordinate system, while the shape denotes the actual PolyRegion. We retrieve the longitude and latitude coordinates for the bound and shape fields using the function coordGeoRegion().

Bound and Shape in RectRegion

There is no field shape in a RectRegion because the shape of a RectRegion is defined by its rectilinear bound.

@example
blon,blat,slon,slat = coordGeoRegion(GeoRegion("AR6_NWN"))

From plotting the bounds (blon,blat) and the shape(slon,slat), we see that the bound is the region defined by the westernmost, easternmost, northernmost and southernmost coordinates of the shape.

@example
aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
 fig = Figure()
 ax = Axis(
     fig[1,1],width=750,height=750/aspect,
@@ -22,6 +22,6 @@ import{_ as i,c as s,o as e,a7 as a}from"./chunks/framework.D-rV3Mrg.js";const u
 lines!(ax,slon,slat,linewidth=5)
 lines!(ax,blon,blat,linewidth=5)
 resize_to_layout!(fig)
-fig
# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::RectRegion) -> blon::Vector{<:Real}, blat::Vector{<:Real}

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vector.

Arguments

  • geo : A RectRegion (i.e. a rectilinear GeoRegion)

Returns

  • lon : A vector of longitude points for the bound of the GeoRegion

  • lat : A vector of latitude points for the bound of the GeoRegion

source


# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::PolyRegion) ->
+fig
# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::RectRegion) -> blon::Vector{<:Real}, blat::Vector{<:Real}

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vector.

Arguments

  • geo : A RectRegion (i.e. a rectilinear GeoRegion)

Returns

  • lon : A vector of longitude points for the bound of the GeoRegion

  • lat : A vector of latitude points for the bound of the GeoRegion

source


# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::PolyRegion) ->
     blon::Vector{<:Real}, blat::Vector{<:Real},
-    slon::Vector{<:Real}, slat::Vector{<:Real},

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vectors for the bound and the shape of the GeoRegion

Arguments

  • geo : A PolyRegion (i.e. a polygonal GeoRegion)

Returns

  • lon : A vector of longitude points for the shape of the GeoRegion

  • lat : A vector of latitude points for the shape of the GeoRegion

source


`,20),o=[t];function l(p,h,d,r,g,c){return e(),s("div",null,o)}const E=i(n,[["render",l]]);export{u as __pageData,E as default}; + slon::Vector{<:Real}, slat::Vector{<:Real},

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vectors for the bound and the shape of the GeoRegion

Arguments

  • geo : A PolyRegion (i.e. a polygonal GeoRegion)

Returns

  • lon : A vector of longitude points for the shape of the GeoRegion

  • lat : A vector of latitude points for the shape of the GeoRegion

source


`,20),o=[t];function l(p,h,d,r,g,c){return e(),s("div",null,o)}const E=i(n,[["render",l]]);export{u as __pageData,E as default}; diff --git a/dev/assets/georegions_read.md.D7dhWMJy.lean.js b/dev/assets/georegions_read.md.g9W6EO8y.lean.js similarity index 100% rename from dev/assets/georegions_read.md.D7dhWMJy.lean.js rename to dev/assets/georegions_read.md.g9W6EO8y.lean.js diff --git a/dev/assets/landsea_create.md.PBdi5Jlb.js b/dev/assets/landsea_create.md.CHObN1Gw.js similarity index 99% rename from dev/assets/landsea_create.md.PBdi5Jlb.js rename to dev/assets/landsea_create.md.CHObN1Gw.js index 876818be..b880df7a 100644 --- a/dev/assets/landsea_create.md.PBdi5Jlb.js +++ b/dev/assets/landsea_create.md.CHObN1Gw.js @@ -48,4 +48,4 @@ import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E σlat :: Int = 0, iterations :: Int = 100, FT = Float32 -) -> LandSea

Retrieve ETOPO 2022 data for a GeoRegion from OPeNDAP servers

Arguments

  • geo : The GeoRegion of interest

Keyword Arguments

  • path :: The path to which an ETOPO folder is created within and ETOPO LandSea data saved into

  • resolution : The resolution of the dataset to be downloaded, in units of arc-seconds. Possible values are 15, 30 and 60, default is 60.

  • bedrock, geoid : The type of ETOPO data (bedrock, geoid, ice-surface) to be downloaded. Bedrock has priority over geoid, so if both are true, the bedrock is downloaded.

  • savelsd : Save LandSea dataset into a local NetCDF file.

  • returnlsd : If savelsd = true, you can choose to simply save the data into the NetCDF file, or load return it as a LandSea dataset. Otherwise, if savelsd = false, you always return the LandSea dataset.

  • smooth : If smooth = true, then you can smooth the land-sea mask using the Gaussian Filter of ImageFiltering.jl such that the coastline (i.e. the separation between land and ocean) becomes blurred.

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


`,17),l=[t];function p(h,o,d,k,r,c){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{E as __pageData,u as default}; +) -> LandSea

Retrieve ETOPO 2022 data for a GeoRegion from OPeNDAP servers

Arguments

  • geo : The GeoRegion of interest

Keyword Arguments

  • path :: The path to which an ETOPO folder is created within and ETOPO LandSea data saved into

  • resolution : The resolution of the dataset to be downloaded, in units of arc-seconds. Possible values are 15, 30 and 60, default is 60.

  • bedrock, geoid : The type of ETOPO data (bedrock, geoid, ice-surface) to be downloaded. Bedrock has priority over geoid, so if both are true, the bedrock is downloaded.

  • savelsd : Save LandSea dataset into a local NetCDF file.

  • returnlsd : If savelsd = true, you can choose to simply save the data into the NetCDF file, or load return it as a LandSea dataset. Otherwise, if savelsd = false, you always return the LandSea dataset.

  • smooth : If smooth = true, then you can smooth the land-sea mask using the Gaussian Filter of ImageFiltering.jl such that the coastline (i.e. the separation between land and ocean) becomes blurred.

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


`,17),l=[t];function p(h,o,d,k,r,c){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{E as __pageData,u as default}; diff --git a/dev/assets/landsea_create.md.PBdi5Jlb.lean.js b/dev/assets/landsea_create.md.CHObN1Gw.lean.js similarity index 100% rename from dev/assets/landsea_create.md.PBdi5Jlb.lean.js rename to dev/assets/landsea_create.md.CHObN1Gw.lean.js diff --git a/dev/assets/landsea_intro.md.BAyQ9uQb.js b/dev/assets/landsea_intro.md.AkTwbHX9.js similarity index 95% rename from dev/assets/landsea_intro.md.BAyQ9uQb.js rename to dev/assets/landsea_intro.md.AkTwbHX9.js index 5f6a8554..e3d80950 100644 --- a/dev/assets/landsea_intro.md.BAyQ9uQb.js +++ b/dev/assets/landsea_intro.md.AkTwbHX9.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,a7 as o}from"./chunks/framework.D-rV3Mrg.js";const b=JSON.parse('{"title":"Land-Sea Mask Datasets","description":"","frontmatter":{},"headers":[],"relativePath":"landsea/intro.md","filePath":"landsea/intro.md","lastUpdated":null}'),s={name:"landsea/intro.md"},i=o('

Land-Sea Mask Datasets

Starting from v5, GeoRegions.jl now fully supports the retrieval of 30- and 60-arcsecond ETOPO orographic data, which includes the following options:

  • Topography that follows the ice-surface (surface)

  • Topography that follows the bedrock beneath the ice (bedrock)

  • Geoid data that converts the Topography into WTGS84 ellipsoid elevation heights

The AbstractLandSea SuperType

The data is loaded into a LandSea dataset struct-type, which is a subset of the supertype AbstractLandSea. We export this supertype, and its abstract subtypes LandSeaTopo and LandSeaFlat, so that other packages can extend the use of these abstract types with their own LandSea Types.

For examples of how to extend the functionality of the LandSea datasets, you may refer to the following examples:

# GeoRegions.AbstractLandSeaType.
julia
AbstractLandSea

Abstract supertype for LandSea Datasets, with the following subtypes:

LandSeaTopo <: AbstractLandSea\nLandSeaFlat <: AbstractLandSea

Both LandSeaTopo and LandSeaFlat types contain the following fields:

  • lon - Vector containing the longitude points for the Land-Sea Dataset

  • lat - Vector containing the latitude points for the Land-Sea Dataset

  • lsm - Array containing data regarding the Land-Sea Mask. 1 is Land, 0 is Ocean, NaN is outside the bounds of the GeoRegion

  • mask - Mask determining if point is within the GeoRegion or not. 1 is true, 0 is false.

A LandSeaTopo type will also contain the following field:

  • z - Array containing data regarding the Orographic Height in meters. NaN is outside the bounds of the GeoRegion

source


The LandSea Type for GeoRegions.jl

# GeoRegions.LandSeaType.
julia
GeoRegion.LandSea <: LandSeaTopo

Object containing information on the ETOPO 2022 Land Sea mask for a GeoRegion.

source


',12),n=[i];function d(l,r,p,c,h,g){return t(),a("div",null,n)}const f=e(s,[["render",d]]);export{b as __pageData,f as default}; +import{_ as e,c as a,o as t,a7 as o}from"./chunks/framework.D-rV3Mrg.js";const b=JSON.parse('{"title":"Land-Sea Mask Datasets","description":"","frontmatter":{},"headers":[],"relativePath":"landsea/intro.md","filePath":"landsea/intro.md","lastUpdated":null}'),s={name:"landsea/intro.md"},i=o('

Land-Sea Mask Datasets

Starting from v5, GeoRegions.jl now fully supports the retrieval of 30- and 60-arcsecond ETOPO orographic data, which includes the following options:

  • Topography that follows the ice-surface (surface)

  • Topography that follows the bedrock beneath the ice (bedrock)

  • Geoid data that converts the Topography into WTGS84 ellipsoid elevation heights

The AbstractLandSea SuperType

The data is loaded into a LandSea dataset struct-type, which is a subset of the supertype AbstractLandSea. We export this supertype, and its abstract subtypes LandSeaTopo and LandSeaFlat, so that other packages can extend the use of these abstract types with their own LandSea Types.

For examples of how to extend the functionality of the LandSea datasets, you may refer to the following examples:

# GeoRegions.AbstractLandSeaType.
julia
AbstractLandSea

Abstract supertype for LandSea Datasets, with the following subtypes:

LandSeaTopo <: AbstractLandSea\nLandSeaFlat <: AbstractLandSea

Both LandSeaTopo and LandSeaFlat types contain the following fields:

  • lon - Vector containing the longitude points for the Land-Sea Dataset

  • lat - Vector containing the latitude points for the Land-Sea Dataset

  • lsm - Array containing data regarding the Land-Sea Mask. 1 is Land, 0 is Ocean, NaN is outside the bounds of the GeoRegion

  • mask - Mask determining if point is within the GeoRegion or not. 1 is true, 0 is false.

A LandSeaTopo type will also contain the following field:

  • z - Array containing data regarding the Orographic Height in meters. NaN is outside the bounds of the GeoRegion

source


The LandSea Type for GeoRegions.jl

# GeoRegions.LandSeaType.
julia
GeoRegion.LandSea <: LandSeaTopo

Object containing information on the ETOPO 2022 Land Sea mask for a GeoRegion.

source


',12),n=[i];function d(l,r,p,c,h,g){return t(),a("div",null,n)}const f=e(s,[["render",d]]);export{b as __pageData,f as default}; diff --git a/dev/assets/landsea_intro.md.BAyQ9uQb.lean.js b/dev/assets/landsea_intro.md.AkTwbHX9.lean.js similarity index 100% rename from dev/assets/landsea_intro.md.BAyQ9uQb.lean.js rename to dev/assets/landsea_intro.md.AkTwbHX9.lean.js diff --git a/dev/assets/landsea_smooth.md.pJRNzDIc.js b/dev/assets/landsea_smooth.md.C3Ll6ayu.js similarity index 97% rename from dev/assets/landsea_smooth.md.pJRNzDIc.js rename to dev/assets/landsea_smooth.md.C3Ll6ayu.js index 7d3e0c9d..ffc33465 100644 --- a/dev/assets/landsea_smooth.md.pJRNzDIc.js +++ b/dev/assets/landsea_smooth.md.C3Ll6ayu.js @@ -76,25 +76,25 @@ import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E σlat :: Int = 0, iterations :: Int = 100, topography :: Bool = false -) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaTopo Mask dataset. If usetopography is set to true, then before the filtering, any points where height >= 0 is set to 1, and <0 is set = 0.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset with Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

  • topography : If true, then the land-sea mask that is smoothed will be based on the topography instead of the raw ERA5 land-sea mask

source

julia
smooth!(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaTopo Mask dataset. If usetopography is set to true, then before the filtering, any points where height >= 0 is set to 1, and <0 is set = 0.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset with Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

  • topography : If true, then the land-sea mask that is smoothed will be based on the topography instead of the raw ERA5 land-sea mask

source

julia
smooth!(
     lsd  :: LandSeaFlat;
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaFlat Mask dataset.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset without Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaFlat Mask dataset.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset without Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
     lsm  :: Array{<:Real,2};
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> nothing

Perform a gaussian smoothing on the Land-Sea mask.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • lsm : A Land-Sea Mask

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • lsm : A Land-Sea Mask

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
     lsm  :: Array{<:Real,2},
     oro  :: Array{<:Real,2};
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a corresponding topographic dataset.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • olsm : The old Land-Sea Mask

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


# GeoRegions.smoothlsmFunction.
julia
smoothlsm(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a corresponding topographic dataset.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • olsm : The old Land-Sea Mask

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


# GeoRegions.smoothlsmFunction.
julia
smoothlsm(
     oro  :: Array{<:Real,2};
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> Array{<:Real,2}

Perform a gaussian smoothing on the Land-Sea mask

Arguments

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


`,20),l=[t];function p(h,o,d,k,r,g){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{E as __pageData,u as default}; +) --> Array{<:Real,2}

Perform a gaussian smoothing on the Land-Sea mask

Arguments

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


`,20),l=[t];function p(h,o,k,d,r,g){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{E as __pageData,u as default}; diff --git a/dev/assets/landsea_smooth.md.pJRNzDIc.lean.js b/dev/assets/landsea_smooth.md.C3Ll6ayu.lean.js similarity index 85% rename from dev/assets/landsea_smooth.md.pJRNzDIc.lean.js rename to dev/assets/landsea_smooth.md.C3Ll6ayu.lean.js index 3c470e1c..cc6f3048 100644 --- a/dev/assets/landsea_smooth.md.pJRNzDIc.lean.js +++ b/dev/assets/landsea_smooth.md.C3Ll6ayu.lean.js @@ -1 +1 @@ -import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"Smoothing of the Land-Sea Mask Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"landsea/smooth.md","filePath":"landsea/smooth.md","lastUpdated":null}'),e={name:"landsea/smooth.md"},t=n("",20),l=[t];function p(h,o,d,k,r,g){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{E as __pageData,u as default}; +import{_ as s,c as a,o as i,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"Smoothing of the Land-Sea Mask Dataset","description":"","frontmatter":{},"headers":[],"relativePath":"landsea/smooth.md","filePath":"landsea/smooth.md","lastUpdated":null}'),e={name:"landsea/smooth.md"},t=n("",20),l=[t];function p(h,o,k,d,r,g){return i(),a("div",null,l)}const u=s(e,[["render",p]]);export{E as __pageData,u as default}; diff --git a/dev/assets/lists_api.md.DuFH__au.js b/dev/assets/lists_api.md.HGUNhvi_.js similarity index 96% rename from dev/assets/lists_api.md.DuFH__au.js rename to dev/assets/lists_api.md.HGUNhvi_.js index ebadbaa3..40fc062c 100644 --- a/dev/assets/lists_api.md.DuFH__au.js +++ b/dev/assets/lists_api.md.HGUNhvi_.js @@ -14,11 +14,11 @@ import{_ as s,c as i,o as a,a7 as e}from"./chunks/framework.D-rV3Mrg.js";const E GLB RectRegion Globe GLB rectlist.txt TRC RectRegion Test Rectangle Region GLB rectlist.txt TPL PolyRegion Test Polygonal Region GLB polylist.txt - ----- ------------ ----------------------- -------- --------------
# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(; onlycustom::Bool) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


More specific lists of GeoRegions

Besides listing all available GeoRegions, it is also possible to list a variety of different specifications of GeoRegions with the tableGeoRegions() function, as well as tableRectRegions() and tablePolyRegions().

# GeoRegions.tableRectRegionsFunction.
julia
tableRectRegions(;
+ ----- ------------ ----------------------- -------- --------------
# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(; onlycustom::Bool) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


More specific lists of GeoRegions

Besides listing all available GeoRegions, it is also possible to list a variety of different specifications of GeoRegions with the tableGeoRegions() function, as well as tableRectRegions() and tablePolyRegions().

# GeoRegions.tableRectRegionsFunction.
julia
tableRectRegions(;
     custom :: Bool = true,
     giorgi :: Bool = false
-) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • giorgi : If true, display Giorgi predefined GeoRegions. Default is false

source


# GeoRegions.tablePolyRegionsFunction.
julia
tablePolyRegions(;
+) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • giorgi : If true, display Giorgi predefined GeoRegions. Default is false

source


# GeoRegions.tablePolyRegionsFunction.
julia
tablePolyRegions(;
     custom :: Bool = true,
     srex :: Bool = false,
     ar6  :: Bool = false
-) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • srex : If true, display SREX predefined GeoRegions. Default is false

  • ar6 : If true, display IPCC AR6 predefined GeoRegions. Default is false

source


Listing GeoRegions inside a Custom File

Similarly, it is also possible to list the GeoRegions in custom files. The template for these files can be retrieved using the function templateGeoRegions()

# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(fname::AbstractString) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


`,15),t=[n];function h(p,o,k,d,r,g){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{E as __pageData,y as default}; +) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • srex : If true, display SREX predefined GeoRegions. Default is false

  • ar6 : If true, display IPCC AR6 predefined GeoRegions. Default is false

source


Listing GeoRegions inside a Custom File

Similarly, it is also possible to list the GeoRegions in custom files. The template for these files can be retrieved using the function templateGeoRegions()

# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(fname::AbstractString) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


`,15),t=[n];function h(p,o,k,r,d,g){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{E as __pageData,y as default}; diff --git a/dev/assets/lists_api.md.DuFH__au.lean.js b/dev/assets/lists_api.md.HGUNhvi_.lean.js similarity index 69% rename from dev/assets/lists_api.md.DuFH__au.lean.js rename to dev/assets/lists_api.md.HGUNhvi_.lean.js index 90990f79..7eab994f 100644 --- a/dev/assets/lists_api.md.DuFH__au.lean.js +++ b/dev/assets/lists_api.md.HGUNhvi_.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a7 as e}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"Tabular Listings of GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"lists/api.md","filePath":"lists/api.md","lastUpdated":null}'),l={name:"lists/api.md"},n=e("",15),t=[n];function h(p,o,k,d,r,g){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{E as __pageData,y as default}; +import{_ as s,c as i,o as a,a7 as e}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"Tabular Listings of GeoRegions","description":"","frontmatter":{},"headers":[],"relativePath":"lists/api.md","filePath":"lists/api.md","lastUpdated":null}'),l={name:"lists/api.md"},n=e("",15),t=[n];function h(p,o,k,r,d,g){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{E as __pageData,y as default}; diff --git a/dev/assets/regiongrids_create.md.DokQHSvO.js b/dev/assets/regiongrids_create.md.D7LE_LNL.js similarity index 80% rename from dev/assets/regiongrids_create.md.DokQHSvO.js rename to dev/assets/regiongrids_create.md.D7LE_LNL.js index 92c50760..1b82c392 100644 --- a/dev/assets/regiongrids_create.md.DokQHSvO.js +++ b/dev/assets/regiongrids_create.md.D7LE_LNL.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"RegionGrid: Applying GeoRegions to Gridded Data","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/create.md","filePath":"regiongrids/create.md","lastUpdated":null}'),e={name:"regiongrids/create.md"},l=n(`

RegionGrid: Applying GeoRegions to Gridded Data

In this section, we go through the basic steps of creating a RegionGrid for RectRegions and PolyRegions. See if you can spot the differences between the RegionGrids generated by the two different types.

Setup

julia
using GeoRegions
+import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"RegionGrid: Applying GeoRegions to Gridded Data","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/create.md","filePath":"regiongrids/create.md","lastUpdated":null}'),e={name:"regiongrids/create.md"},t=n(`

RegionGrid: Applying GeoRegions to Gridded Data

In this section, we go through the basic steps of creating a RegionGrid for RectRegions and PolyRegions. See if you can spot the differences between the RegionGrids generated by the two different types.

Setup

julia
using GeoRegions
 using DelimitedFiles
 using CairoMakie
 
@@ -9,23 +9,10 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E
 nothing

RectGrid Example

julia
geo  = GeoRegion("GF_SSA")
 lon  = -180:5:180
 lat  = -90:5:90
-ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
The Rectilinear Grid has the following properties:
-    Grid Bounds       (grid) : [15, 7, 29, 21]
-    Longitude Indices (ilon) : [21, 22, 23, 24, 25, 26, 27, 28, 29]
-    Latitude Indices  (ilat) : [7, 8, 9, 10, 11, 12, 13, 14, 15]
-    Longitude Points   (lon) : [280, 285, 290, 295, 300, 305, 310, 315, 320]
-    Latitude Points    (lat) : [-60, -55, -50, -45, -40, -35, -30, -25, -20]
-    Region Size (nlon * nlat) : 9 lon points x 9 lat points

PolyGrid Example

julia
geo  = GeoRegion("AR6_NWS")
+ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
RectGrid{Int64}([15, 7, 29, 21], [280, 285, 290, 295, 300, 305, 310, 315, 320], [-60, -55, -50, -45, -40, -35, -30, -25, -20], [21, 22, 23, 24, 25, 26, 27, 28, 29], [7, 8, 9, 10, 11, 12, 13, 14, 15])

PolyGrid Example

julia
geo  = GeoRegion("AR6_NWS")
 lon  = -180:2:180;
 lat  = -90:2:90;
-ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
The Polygonal Grid has the following properties:
-    Grid Bounds       (grid) : [52, 39, 55, 50]
-    Longitude Indices (ilon) : [50, 51, 52, 53, 54, 55]
-    Latitude Indices  (ilat) : [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52]
-    Longitude Points   (lon) : [-82.0, -80.0, -78.0, -76.0, -74.0, -72.0]
-    Latitude Points    (lat) : [-14.0, -12.0, -10.0, -8.0, -6.0, -4.0, -2.0, 0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 12.0]
-    Region Size (nlon * nlat) : 6 lon points x 14 lat points
-    Region Mask (sum(mask) / (nlon * nlat)) : 70 / 84

So here, we see that in this PolyGrid example, the RegionGrid contains an additional field mask that, within the rectilinear longitude-latitude shape bounding the GeoRegion (because gridded data here is assumed to be rectilinear), the data is within the GeoRegion. Values of 1 indicate it is within the GeoRegion, otherwise the values are \`NaN.

julia
ggrd.mask
6×14 Matrix{Float64}:
+ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
PolyGrid{Float64}([52, 39, 55, 50], [-82.0, -80.0, -78.0, -76.0, -74.0, -72.0], [-14.0, -12.0, -10.0, -8.0, -6.0, -4.0, -2.0, 0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 12.0], [50, 51, 52, 53, 54, 55], [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], [NaN NaN … NaN NaN; NaN 1.0 … NaN NaN; … ; 1.0 1.0 … 1.0 1.0; 1.0 1.0 … 1.0 1.0])

So here, we see that in this PolyGrid example, the RegionGrid contains an additional field mask that, within the rectilinear longitude-latitude shape bounding the GeoRegion (because gridded data here is assumed to be rectilinear), the data is within the GeoRegion. Values of 1 indicate it is within the GeoRegion, otherwise the values are \`NaN.

julia
ggrd.mask
6×14 Matrix{Float64}:
  NaN    NaN    1.0  1.0  1.0  1.0  1.0  …  NaN    NaN    NaN    NaN    NaN
  NaN      1.0  1.0  1.0  1.0  1.0  1.0       1.0    1.0  NaN    NaN    NaN
    1.0    1.0  1.0  1.0  1.0  1.0  1.0       1.0    1.0    1.0  NaN    NaN
@@ -34,14 +21,7 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E
    1.0    1.0  1.0  1.0  1.0  1.0  1.0  …    1.0    1.0    1.0    1.0    1.0

The Mask of a PolyGrid

The PolyGrid type derived from a PolyRegion allows us to apply a mask to filter out data that is within the shape of a PolyRegion on a rectilinear lon-lat grid defined by the bound of a PolyRegion. We consider the following example of an AR6 region over South Asia:

julia
geo  = GeoRegion("AR6_SAS")
 lon  = -180:5:180;
 lat  = -90:2:90;
-ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
The Polygonal Grid has the following properties:
-    Grid Bounds       (grid) : [61, 50, 57, 49]
-    Longitude Indices (ilon) : [49, 50, 51, 52, 53, 54, 55, 56, 57]
-    Latitude Indices  (ilat) : [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]
-    Longitude Points   (lon) : [60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0]
-    Latitude Points    (lat) : [8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0, 24.0, 26.0, 28.0, 30.0]
-    Region Size (nlon * nlat) : 9 lon points x 12 lat points
-    Region Mask (sum(mask) / (nlon * nlat)) : 55 / 108

And using the field mask, we plot the points that are in the region (blue), and out of the region (red).

@example
mask = ggrd.mask
+ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
PolyGrid{Float64}([61, 50, 57, 49], [60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0], [8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0, 24.0, 26.0, 28.0, 30.0], [49, 50, 51, 52, 53, 54, 55, 56, 57], [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], [NaN NaN … 1.0 1.0; NaN NaN … 1.0 1.0; … ; NaN NaN … 1.0 NaN; NaN NaN … 1.0 1.0])

And using the field mask, we plot the points that are in the region (blue), and out of the region (red).

@example
mask = ggrd.mask
 grid = ones(size(mask))
 inlon = grid .* ggrd.lon;  inlon = inlon[.!isnan.(mask)]
 inlat = grid .* ggrd.lat'; inlat = inlat[.!isnan.(mask)]
@@ -67,8 +47,8 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E
     geo :: GeoRegion,
     lon :: Union{Vector{<:Real},AbstractRange{<:Real},
     lat :: Union{Vector{<:Real},AbstractRange{<:Real}
-) -> RectGrid, PolyGrid

Creates a RectGrid or PolyGrid type based on the following arguments. This method is suitable for rectilinear grids of longitude/latitude output such as from Isca, or from satellite and reanalysis gridded datasets.

Arguments

  • geo : A GeoRegion of interest

  • lon : A vector or AbstractRange containing the longitude points

  • lat : A vector or AbstractRange containing the latitude points

source


# GeoRegions.RegionGridMethod.
julia
RegionGrid(
+) -> RectGrid, PolyGrid

Creates a RectGrid or PolyGrid type based on the following arguments. This method is suitable for rectilinear grids of longitude/latitude output such as from Isca, or from satellite and reanalysis gridded datasets.

Arguments

  • geo : A GeoRegion of interest

  • lon : A vector or AbstractRange containing the longitude points

  • lat : A vector or AbstractRange containing the latitude points

source


# GeoRegions.RegionGridMethod.
julia
RegionGrid(
     geo :: GeoRegion,
     lon :: Array{<:Real,2},
     lat :: Array{<:Real,2}
-) -> RegionGrid

Creates a RegionMask type based on the following arguments. This method is more suitable for non-rectilinear grids of longitude and latitude points, such as in the output of WRF or CESM.

Arguments

  • geo : A GeoRegion of interest

  • lon : An array containing the longitude points

  • lat : An array containing the latitude points

source



This page was generated using Literate.jl.

`,26),t=[l];function p(h,k,d,o,r,g){return a(),i("div",null,t)}const y=s(e,[["render",p]]);export{E as __pageData,y as default}; +) -> RegionGrid

Creates a RegionMask type based on the following arguments. This method is more suitable for non-rectilinear grids of longitude and latitude points, such as in the output of WRF or CESM.

Arguments

  • geo : A GeoRegion of interest

  • lon : An array containing the longitude points

  • lat : An array containing the latitude points

source



This page was generated using Literate.jl.

`,26),l=[t];function p(h,k,d,o,r,g){return a(),i("div",null,l)}const y=s(e,[["render",p]]);export{E as __pageData,y as default}; diff --git a/dev/assets/regiongrids_create.md.DokQHSvO.lean.js b/dev/assets/regiongrids_create.md.D7LE_LNL.lean.js similarity index 72% rename from dev/assets/regiongrids_create.md.DokQHSvO.lean.js rename to dev/assets/regiongrids_create.md.D7LE_LNL.lean.js index 10e290ef..1322a69f 100644 --- a/dev/assets/regiongrids_create.md.DokQHSvO.lean.js +++ b/dev/assets/regiongrids_create.md.D7LE_LNL.lean.js @@ -1 +1 @@ -import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"RegionGrid: Applying GeoRegions to Gridded Data","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/create.md","filePath":"regiongrids/create.md","lastUpdated":null}'),e={name:"regiongrids/create.md"},l=n("",26),t=[l];function p(h,k,d,o,r,g){return a(),i("div",null,t)}const y=s(e,[["render",p]]);export{E as __pageData,y as default}; +import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E=JSON.parse('{"title":"RegionGrid: Applying GeoRegions to Gridded Data","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/create.md","filePath":"regiongrids/create.md","lastUpdated":null}'),e={name:"regiongrids/create.md"},t=n("",26),l=[t];function p(h,k,d,o,r,g){return a(),i("div",null,l)}const y=s(e,[["render",p]]);export{E as __pageData,y as default}; diff --git a/dev/assets/regiongrids_intro.md.Vmx6LIRJ.js b/dev/assets/regiongrids_intro.md.CvXsDI9Z.js similarity index 94% rename from dev/assets/regiongrids_intro.md.Vmx6LIRJ.js rename to dev/assets/regiongrids_intro.md.CvXsDI9Z.js index b33d568d..5d97551b 100644 --- a/dev/assets/regiongrids_intro.md.Vmx6LIRJ.js +++ b/dev/assets/regiongrids_intro.md.CvXsDI9Z.js @@ -1,3 +1,3 @@ -import{_ as e,c as i,o,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"What is a RegionGrid?","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/intro.md","filePath":"regiongrids/intro.md","lastUpdated":null}'),a={name:"regiongrids/intro.md"},d=t(`

What is a RegionGrid?

But how do we go from defining a GeoRegion, to extracting data for that GeoRegion? The answer is with the information in the RegionGrid types, which maps gridded lon-lat data to a given GeoRegion as follows:

  • Mapping gridded lon-lat data to a RectRegion gives a RectGrid structure

  • Mapping gridded lon-lat data to a PolyRegion gives a PolyGrid structure

  • Mapping non-rectilinear gridded lon-lat data to a RegionMask gives a RegionMask structure

However, the basic uses of RectGrid and PolyGrid are the same, and as such their differences are largely transparent to the user, except for one field found in PolyGrid, the mask, which will be elaborated upon later.

# GeoRegions.RegionGridType.
julia
RegionGrid

Abstract supertype for geographical region gridded information, with the following subtypes:

RectGrid{FT<:Real} <: RegionGrid
+import{_ as e,c as i,o,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"What is a RegionGrid?","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/intro.md","filePath":"regiongrids/intro.md","lastUpdated":null}'),a={name:"regiongrids/intro.md"},n=t(`

What is a RegionGrid?

But how do we go from defining a GeoRegion, to extracting data for that GeoRegion? The answer is with the information in the RegionGrid types, which maps gridded lon-lat data to a given GeoRegion as follows:

  • Mapping gridded lon-lat data to a RectRegion gives a RectGrid structure

  • Mapping gridded lon-lat data to a PolyRegion gives a PolyGrid structure

  • Mapping non-rectilinear gridded lon-lat data to a RegionMask gives a RegionMask structure

However, the basic uses of RectGrid and PolyGrid are the same, and as such their differences are largely transparent to the user, except for one field found in PolyGrid, the mask, which will be elaborated upon later.

# GeoRegions.RegionGridType.
julia
RegionGrid

Abstract supertype for geographical region gridded information, with the following subtypes:

RectGrid{FT<:Real} <: RegionGrid
 PolyGrid{FT<:Real} <: RegionGrid
-RegionMask{FT<:Real} <: RegionGrid

Both RectGrid and PolyGrid types contain the following fields:

  • grid - A vector of Ints defining the gridpoint indices of the [N,S,E,W] points respectively

  • lon - A vector of Floats defining the latitude vector describing the region

  • lat - A vector of Floats defining the latitude vector describing the region

  • ilon - A vector of Ints defining indices of the parent longitude vector describing the region

  • ilat - A vector of Ints defining indices of the parent latitude vector describing the region

A PolyGrid type will also contain the following field:

  • mask - An array of 0s and 1s defining a non-rectilinear shape within a rectilinear grid where data is valid (only available in PolyGrid types)

A RegionMask type will contain the following fields:

  • lon - An array of longitude points

  • lat - An array of latitude points

  • mask - An array of NaNs and 1s defining the region within the original field in which data points are valid

source


So basically a RegionGrid contains information on the indices of the gridded data that are part of the GeoRegion, thus helping us extract the relevant data for a given GeoRegion.

`,7),n=[d];function r(s,l,c,p,g,h){return o(),i("div",null,n)}const R=e(a,[["render",r]]);export{u as __pageData,R as default}; +RegionMask{FT<:Real} <: RegionGrid

Both RectGrid and PolyGrid types contain the following fields:

  • grid - A vector of Ints defining the gridpoint indices of the [N,S,E,W] points respectively

  • lon - A vector of Floats defining the latitude vector describing the region

  • lat - A vector of Floats defining the latitude vector describing the region

  • ilon - A vector of Ints defining indices of the parent longitude vector describing the region

  • ilat - A vector of Ints defining indices of the parent latitude vector describing the region

A PolyGrid type will also contain the following field:

  • mask - An array of 0s and 1s defining a non-rectilinear shape within a rectilinear grid where data is valid (only available in PolyGrid types)

A RegionMask type will contain the following fields:

  • lon - An array of longitude points

  • lat - An array of latitude points

  • mask - An array of NaNs and 1s defining the region within the original field in which data points are valid

source


So basically a RegionGrid contains information on the indices of the gridded data that are part of the GeoRegion, thus helping us extract the relevant data for a given GeoRegion.

`,7),d=[n];function r(s,l,c,p,g,h){return o(),i("div",null,d)}const R=e(a,[["render",r]]);export{u as __pageData,R as default}; diff --git a/dev/assets/regiongrids_intro.md.Vmx6LIRJ.lean.js b/dev/assets/regiongrids_intro.md.CvXsDI9Z.lean.js similarity index 70% rename from dev/assets/regiongrids_intro.md.Vmx6LIRJ.lean.js rename to dev/assets/regiongrids_intro.md.CvXsDI9Z.lean.js index 59b05228..219abdd2 100644 --- a/dev/assets/regiongrids_intro.md.Vmx6LIRJ.lean.js +++ b/dev/assets/regiongrids_intro.md.CvXsDI9Z.lean.js @@ -1 +1 @@ -import{_ as e,c as i,o,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"What is a RegionGrid?","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/intro.md","filePath":"regiongrids/intro.md","lastUpdated":null}'),a={name:"regiongrids/intro.md"},d=t("",7),n=[d];function r(s,l,c,p,g,h){return o(),i("div",null,n)}const R=e(a,[["render",r]]);export{u as __pageData,R as default}; +import{_ as e,c as i,o,a7 as t}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"What is a RegionGrid?","description":"","frontmatter":{},"headers":[],"relativePath":"regiongrids/intro.md","filePath":"regiongrids/intro.md","lastUpdated":null}'),a={name:"regiongrids/intro.md"},n=t("",7),d=[n];function r(s,l,c,p,g,h){return o(),i("div",null,d)}const R=e(a,[["render",r]]);export{u as __pageData,R as default}; diff --git a/dev/assets/using_custom.md.BTCMo8W5.js b/dev/assets/using_custom.md.DyjSpJrS.js similarity index 94% rename from dev/assets/using_custom.md.BTCMo8W5.js rename to dev/assets/using_custom.md.DyjSpJrS.js index c0814d47..0d78adea 100644 --- a/dev/assets/using_custom.md.BTCMo8W5.js +++ b/dev/assets/using_custom.md.DyjSpJrS.js @@ -1,13 +1,13 @@ -import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"Adding GeoRegions from Templates","description":"","frontmatter":{},"headers":[],"relativePath":"using/custom.md","filePath":"using/custom.md","lastUpdated":null}'),n={name:"using/custom.md"},t=a(`

Adding GeoRegions from Templates

So you have a list of areas that you want to define, but you don't want to enter them in one by one. What to do?### Setup

julia
using GeoRegions

Template GeoRegion Files

Fear not! I have template files that one can use to define RectRegions and PolyRegions. Simply use the templateGeoRegion() to copy the templates into a directory of your choice.

Defining PolyRegions

When defining PolyRegions, the first and last set of (lon,lat) coordinates must be the same (i.e. a closed polygon must be defined)

julia
templateGeoRegion("your-file-path-here")
# GeoRegions.templateGeoRegionsFunction.
julia
templateGeoRegions(; path::AbstractString, overwrite::Bool=false)

Copies the template files for defining GeoRegions in textfiles, that can then be added as a batch using addGeoRegions()

Keyword Arguments

  • path : The folder to copy the files to

  • overwrite : If template files exist in this folder, overwrite?

source


Reading in GeoRegions from a custom file

We can then read in GeoRegions from your custom file using the function addGeoRegions(), which will then read all the GeoRegion information in the file and add it to the list of GeoRegions.

julia
addGeoRegions("recttest.txt")
+import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"Adding GeoRegions from Templates","description":"","frontmatter":{},"headers":[],"relativePath":"using/custom.md","filePath":"using/custom.md","lastUpdated":null}'),n={name:"using/custom.md"},t=a(`

Adding GeoRegions from Templates

So you have a list of areas that you want to define, but you don't want to enter them in one by one. What to do?### Setup

julia
using GeoRegions

Template GeoRegion Files

Fear not! I have template files that one can use to define RectRegions and PolyRegions. Simply use the templateGeoRegion() to copy the templates into a directory of your choice.

Defining PolyRegions

When defining PolyRegions, the first and last set of (lon,lat) coordinates must be the same (i.e. a closed polygon must be defined)

julia
templateGeoRegion("your-file-path-here")
# GeoRegions.templateGeoRegionsFunction.
julia
templateGeoRegions(; path::AbstractString, overwrite::Bool=false)

Copies the template files for defining GeoRegions in textfiles, that can then be added as a batch using addGeoRegions()

Keyword Arguments

  • path : The folder to copy the files to

  • overwrite : If template files exist in this folder, overwrite?

source


Reading in GeoRegions from a custom file

We can then read in GeoRegions from your custom file using the function addGeoRegions(), which will then read all the GeoRegion information in the file and add it to the list of GeoRegions.

julia
addGeoRegions("recttest.txt")
 GeoRegion("TRP")
The Rectilinear Region TRP has the following properties:
     Region ID    (ID) : TRP
     Parent ID   (pID) : GLB
     Name       (name) : Tropical
     Bounds  (N,S,E,W) : [30.0, -30.0, 360.0, 0.0]
-        (is180,is360) : (false, true)
# GeoRegions.addGeoRegionsFunction.
julia
addGeoRegions(fname::AbstractString)

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • fname : name + path of the file containing GeoRegion information

source


Reset the list of GeoRegions

Should one wish to entirely reset the list of GeoRegions, one can call resetGeoRegions():

julia
resetGeoRegions()
[ Info: 2024-07-26T20:04:06.378 - GeoRegions.jl - Resetting the custom lists of GeoRegions back to the default
-┌ Warning: 2024-07-26T20:04:06.378 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/rectlist.txt ...
+        (is180,is360) : (false, true)
# GeoRegions.addGeoRegionsFunction.
julia
addGeoRegions(fname::AbstractString)

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • fname : name + path of the file containing GeoRegion information

source


Reset the list of GeoRegions

Should one wish to entirely reset the list of GeoRegions, one can call resetGeoRegions():

julia
resetGeoRegions()
[ Info: 2024-07-26T21:00:01.350 - GeoRegions.jl - Resetting the custom lists of GeoRegions back to the default
+┌ Warning: 2024-07-26T21:00:01.350 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/rectlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473
-┌ Warning: 2024-07-26T20:04:06.383 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/polylist.txt ...
+┌ Warning: 2024-07-26T21:00:01.355 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/polylist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473
-┌ Warning: 2024-07-26T20:04:06.383 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/tiltlist.txt ...
-└ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473

And if one wishes to reset the predefined list of GeoRegions, we can do:

@example
resetGeoRegions(allfiles=true)
# GeoRegions.resetGeoRegionsFunction.
julia
resetGeoRegions(; allfiles::Bool = false)

Reset all the files containing GeoRegion information back to the default.

Arguments

  • allfiles : If true, reset the GeoRegions defined in Giorgi & Francisco [2000], AR6 Regions (Iturbide et al., 2020; ESSD) and Seneviratne et al. [2012] as well. If false, only reset the custom GeoRegions.

source



This page was generated using Literate.jl.

`,25),o=[t];function l(p,r,d,h,g,c){return i(),s("div",null,o)}const m=e(n,[["render",l]]);export{u as __pageData,m as default}; +┌ Warning: 2024-07-26T21:00:01.355 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/tiltlist.txt ... +└ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473

And if one wishes to reset the predefined list of GeoRegions, we can do:

@example
resetGeoRegions(allfiles=true)
# GeoRegions.resetGeoRegionsFunction.
julia
resetGeoRegions(; allfiles::Bool = false)

Reset all the files containing GeoRegion information back to the default.

Arguments

  • allfiles : If true, reset the GeoRegions defined in Giorgi & Francisco [2000], AR6 Regions (Iturbide et al., 2020; ESSD) and Seneviratne et al. [2012] as well. If false, only reset the custom GeoRegions.

source



This page was generated using Literate.jl.

`,25),o=[t];function l(p,r,h,d,g,c){return i(),s("div",null,o)}const m=e(n,[["render",l]]);export{u as __pageData,m as default}; diff --git a/dev/assets/using_custom.md.BTCMo8W5.lean.js b/dev/assets/using_custom.md.DyjSpJrS.lean.js similarity index 85% rename from dev/assets/using_custom.md.BTCMo8W5.lean.js rename to dev/assets/using_custom.md.DyjSpJrS.lean.js index 43c1f48c..bef662d5 100644 --- a/dev/assets/using_custom.md.BTCMo8W5.lean.js +++ b/dev/assets/using_custom.md.DyjSpJrS.lean.js @@ -1 +1 @@ -import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"Adding GeoRegions from Templates","description":"","frontmatter":{},"headers":[],"relativePath":"using/custom.md","filePath":"using/custom.md","lastUpdated":null}'),n={name:"using/custom.md"},t=a("",25),o=[t];function l(p,r,d,h,g,c){return i(),s("div",null,o)}const m=e(n,[["render",l]]);export{u as __pageData,m as default}; +import{_ as e,c as s,o as i,a7 as a}from"./chunks/framework.D-rV3Mrg.js";const u=JSON.parse('{"title":"Adding GeoRegions from Templates","description":"","frontmatter":{},"headers":[],"relativePath":"using/custom.md","filePath":"using/custom.md","lastUpdated":null}'),n={name:"using/custom.md"},t=a("",25),o=[t];function l(p,r,h,d,g,c){return i(),s("div",null,o)}const m=e(n,[["render",l]]);export{u as __pageData,m as default}; diff --git a/dev/assets/using_extract.md.OzNSx-Bi.js b/dev/assets/using_extract.md.B8VZ24LQ.js similarity index 69% rename from dev/assets/using_extract.md.OzNSx-Bi.js rename to dev/assets/using_extract.md.B8VZ24LQ.js index 350e2c9e..81323ff4 100644 --- a/dev/assets/using_extract.md.OzNSx-Bi.js +++ b/dev/assets/using_extract.md.B8VZ24LQ.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,a7 as i}from"./chunks/framework.D-rV3Mrg.js";const N=JSON.parse('{"title":"Extracting Gridded Data using RegionGrid","description":"","frontmatter":{},"headers":[],"relativePath":"using/extract.md","filePath":"using/extract.md","lastUpdated":null}'),e={name:"using/extract.md"},p=i(`

Extracting Gridded Data using RegionGrid

Suppose we have Global Data. However, we are only interested in a specific region (say, the North Central American region as defined in AR6), how do we extract data for this region?

The simple answer is, we use the extractGrid() function, which takes in a RegionGrid and a data array, and returns a new data array for the GeoRegion.

Setup

julia
using GeoRegions
+import{_ as a,c as s,o as n,a7 as i}from"./chunks/framework.D-rV3Mrg.js";const g=JSON.parse('{"title":"Extracting Gridded Data using RegionGrid","description":"","frontmatter":{},"headers":[],"relativePath":"using/extract.md","filePath":"using/extract.md","lastUpdated":null}'),e={name:"using/extract.md"},t=i(`

Extracting Gridded Data using RegionGrid

Suppose we have Global Data. However, we are only interested in a specific region (say, the North Central American region as defined in AR6), how do we extract data for this region?

The simple answer is, we use the extractGrid() function, which takes in a RegionGrid and a data array, and returns a new data array for the GeoRegion.

Setup

julia
using GeoRegions
 using DelimitedFiles
 using CairoMakie
 
@@ -15,53 +15,46 @@ import{_ as s,c as a,o as n,a7 as i}from"./chunks/framework.D-rV3Mrg.js";const N
         (is180,is360) : (true, false)

We also define some sample test data in the global domain

julia
lon = collect(0:360); pop!(lon); nlon = length(lon)
 lat = collect(-90:90);           nlat = length(lat)
 odata = randn((nlon,nlat))
360×181 Matrix{Float64}:
- -1.03899      2.12475     1.19293   …  -1.65979    -0.722168  -0.707515
-  0.00370645  -0.994938    0.973959      0.475623   -0.118674  -0.201542
-  0.556168    -0.487757    1.45749       0.647749   -2.40056   -2.15137
- -0.263514     0.0551585   0.634463     -0.0545932  -1.31054    1.87409
-  2.3869      -1.03145     0.335841      0.152548    1.18578    0.926813
- -0.366396     0.849315   -0.929826  …   3.24367    -0.545804   0.141889
- -1.17566     -0.489808    1.1173       -0.620597    1.39905   -0.224235
- -0.462755    -0.147257    0.289648      0.382545   -1.41632   -2.74261
-  0.330501     1.12257     0.834024      1.20976    -0.284671  -0.0970607
-  2.07067      1.83426    -0.533805      0.286453    2.05144   -2.20175
-  ⋮                                  ⋱                          ⋮
-  0.69145      1.33243    -0.544644     -0.070642   -0.46344    0.253526
- -0.0107742    0.0704456  -0.432948      0.152018   -0.182906   0.903208
- -1.83523      0.106876   -1.12871      -0.44455    -0.209601  -0.313234
- -0.0693771   -1.59718     0.324565     -0.302458   -0.89819   -0.837747
- -0.0948295   -1.49624    -0.214021  …   0.0128698  -0.558482  -0.821857
-  0.376969    -1.46582    -1.32566       0.473649    1.40309    2.08159
-  0.904746    -1.23673     1.69211       0.527095    1.00818    0.544966
-  0.148756    -1.73603    -1.34797       0.843942    0.644318   0.400734
- -0.860136    -0.708603   -0.472305     -0.585108    0.590532  -0.173988

Our next step is to define the RegionGrid based on the longitude and latitude vectors and their intersection with the GeoRegion

julia
ggrd = RegionGrid(geo,lon,lat)
The Polygonal Grid has the following properties:
-    Grid Bounds       (grid) : [124, 107, 271, 239]
-    Longitude Indices (ilon) : [239, 240, 241, 242, 243, 244, 245, 246, 247, 248  …  262, 263, 264, 265, 266, 267, 268, 269, 270, 271]
-    Latitude Indices  (ilat) : [107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124]
-    Longitude Points   (lon) : [-122.0, -121.0, -120.0, -119.0, -118.0, -117.0, -116.0, -115.0, -114.0, -113.0  …  -99.0, -98.0, -97.0, -96.0, -95.0, -94.0, -93.0, -92.0, -91.0, -90.0]
-    Latitude Points    (lat) : [16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0]
-    Region Size (nlon * nlat) : 33 lon points x 18 lat points
-    Region Mask (sum(mask) / (nlon * nlat)) : 281 / 594

Then we extract the data

julia
ndata = extractGrid(odata,ggrd)
33×18 Matrix{Float64}:
- NaN  NaN  NaN  NaN  NaN  NaN        NaN          …  NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN           1.7925
- NaN  NaN  NaN  NaN  NaN  NaN        NaN               0.788204   -2.26048
- NaN  NaN  NaN  NaN  NaN  NaN        NaN               1.15544     0.123212
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.94052     0.446209
- NaN  NaN  NaN  NaN  NaN  NaN        NaN          …   -0.819841   -0.403538
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.265989    0.962716
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -1.06695    -2.01042
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.479697   -1.01279
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.877807   -0.61649
+ -0.314936   -0.539916   -0.182328   …   1.72965    0.47064    0.483422
+ -0.410684    1.88783    -0.718573       0.41423    0.202739  -0.794846
+  1.29619     0.785104    0.134473       0.361998   0.854558   1.06757
+ -0.3434      0.108879   -0.442978      -0.356206  -1.89911    0.174595
+ -1.39773     1.25396     0.198644      -0.442938   0.877872  -0.117866
+  0.843487   -0.461563    0.192526   …  -0.538295   1.28571    2.3662
+ -0.493901   -0.497255    0.947996       0.611534  -0.54076    0.0574435
+  1.21908     0.981648   -1.09131        0.585131  -0.601835   0.973778
+  1.87857     0.0147337  -0.327811       0.75983    0.39954   -0.265991
+  0.496358    0.569794   -0.0126277      1.55267   -2.40177   -0.444697
+  ⋮                                  ⋱                         ⋮
+  0.379589    0.388803    0.0372909     -0.82872    1.73311   -0.322156
+  0.852848    1.00827     0.724651      -0.992546  -1.58701   -0.523034
+ -1.40663    -1.26531     1.12458       -0.128553   1.32458    0.631967
+ -0.379738    0.499331   -0.817695       1.11156   -0.855692   0.683562
+ -1.21878    -1.1318      0.814681   …   0.216914   0.348482  -0.279212
+ -1.53045    -0.921946    0.467339       0.585649   0.755435  -0.636877
+  0.0878672   0.1258     -1.82319       -0.589237   0.501974  -0.263391
+  0.346705   -1.44827     0.827397       0.55881    0.581573  -0.357482
+ -0.453531    1.30737     0.887987       0.231998   0.267186   1.42424

Our next step is to define the RegionGrid based on the longitude and latitude vectors and their intersection with the GeoRegion

julia
ggrd = RegionGrid(geo,lon,lat)
PolyGrid{Float64}([124, 107, 271, 239], [-122.0, -121.0, -120.0, -119.0, -118.0, -117.0, -116.0, -115.0, -114.0, -113.0  …  -99.0, -98.0, -97.0, -96.0, -95.0, -94.0, -93.0, -92.0, -91.0, -90.0], [16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0], [239, 240, 241, 242, 243, 244, 245, 246, 247, 248  …  262, 263, 264, 265, 266, 267, 268, 269, 270, 271], [107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], [NaN NaN … NaN NaN; NaN NaN … NaN 1.0; … ; NaN NaN … NaN NaN; NaN NaN … NaN NaN])

Then we extract the data

julia
ndata = extractGrid(odata,ggrd)
33×18 Matrix{Float64}:
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN         …  NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN           1.85333
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN             -0.302304    0.508684
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN             -0.569353    0.779084
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN             -0.697381   -0.0618885
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN         …   -0.781453    0.226094
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.388788    1.15227
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.482606    0.264581
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.783474    1.70172
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.518502    2.43373
    ⋮                        ⋮                     ⋱              
- NaN  NaN  NaN  NaN  NaN   -1.29981    0.142396      NaN         NaN
- NaN  NaN  NaN  NaN  NaN    1.29389    0.0372503  …  NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN          1.13585       NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN         -1.28948       NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN          …  NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN

Let us plot the old and new data

@example
fig = Figure()
+ NaN  NaN  NaN  NaN  NaN    0.216467   -0.816923     NaN         NaN
+ NaN  NaN  NaN  NaN  NaN   -1.03007    -0.278986  …  NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN          -0.201766     NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN          -0.912378     NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN         …  NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN

Let us plot the old and new data

@example
fig = Figure()
 _,_,slon,slat = coordGeoRegion(geo); slon = slon
 aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
 
@@ -93,8 +86,8 @@ import{_ as s,c as a,o as n,a7 as i}from"./chunks/framework.D-rV3Mrg.js";const N
 fig

API

# GeoRegions.extractGridFunction.
julia
extractGrid(
     odata :: AbstractArray{<:Real,N},
     ggrd  :: RegionGrid
-) where N <: Int -> Array{<:Real,N}

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into another Array of dimension N, containing only within a sub GeoRegion we are interested in.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ggrd : A RegionGrid containing detailed information on what to extract

source


# GeoRegions.extractGrid!Function.
julia
extractGrid!(
+) where N <: Int -> Array{<:Real,N}

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into another Array of dimension N, containing only within a sub GeoRegion we are interested in.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ggrd : A RegionGrid containing detailed information on what to extract

source


# GeoRegions.extractGrid!Function.
julia
extractGrid!(
     odata :: AbstractArray{<:Real,N},
     ndata :: AbstractArray{<:Real,N},
     ggrd  :: RegionGrid
-) where N <: Int -> nothing

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into ndata, another Array of dimension N, containing only within a sub GeoRegion we are interested in.

This allows for iterable in-place modification to save memory space and reduce allocations if the dimensions are fixed.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ndata : An array of dimension N meant as a placeholder for the extracted data to minimize allocations

  • ggrd : A RegionGrid containing detailed information on what to extract

source



This page was generated using Literate.jl.

`,26),t=[p];function l(h,d,o,r,k,c){return n(),a("div",null,t)}const E=s(e,[["render",l]]);export{N as __pageData,E as default}; +) where N <: Int -> nothing

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into ndata, another Array of dimension N, containing only within a sub GeoRegion we are interested in.

This allows for iterable in-place modification to save memory space and reduce allocations if the dimensions are fixed.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ndata : An array of dimension N meant as a placeholder for the extracted data to minimize allocations

  • ggrd : A RegionGrid containing detailed information on what to extract

source



This page was generated using Literate.jl.

`,26),p=[t];function l(h,d,o,r,k,c){return n(),s("div",null,p)}const E=a(e,[["render",l]]);export{g as __pageData,E as default}; diff --git a/dev/assets/using_extract.md.B8VZ24LQ.lean.js b/dev/assets/using_extract.md.B8VZ24LQ.lean.js new file mode 100644 index 00000000..80ea1d40 --- /dev/null +++ b/dev/assets/using_extract.md.B8VZ24LQ.lean.js @@ -0,0 +1 @@ +import{_ as a,c as s,o as n,a7 as i}from"./chunks/framework.D-rV3Mrg.js";const g=JSON.parse('{"title":"Extracting Gridded Data using RegionGrid","description":"","frontmatter":{},"headers":[],"relativePath":"using/extract.md","filePath":"using/extract.md","lastUpdated":null}'),e={name:"using/extract.md"},t=i("",26),p=[t];function l(h,d,o,r,k,c){return n(),s("div",null,p)}const E=a(e,[["render",l]]);export{g as __pageData,E as default}; diff --git a/dev/assets/using_extract.md.OzNSx-Bi.lean.js b/dev/assets/using_extract.md.OzNSx-Bi.lean.js deleted file mode 100644 index 3d57c7f2..00000000 --- a/dev/assets/using_extract.md.OzNSx-Bi.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a7 as i}from"./chunks/framework.D-rV3Mrg.js";const N=JSON.parse('{"title":"Extracting Gridded Data using RegionGrid","description":"","frontmatter":{},"headers":[],"relativePath":"using/extract.md","filePath":"using/extract.md","lastUpdated":null}'),e={name:"using/extract.md"},p=i("",26),t=[p];function l(h,d,o,r,k,c){return n(),a("div",null,t)}const E=s(e,[["render",l]]);export{N as __pageData,E as default}; diff --git a/dev/assets/using_isin.md.CEjFC0Kw.js b/dev/assets/using_isin.md.CciDktiA.js similarity index 98% rename from dev/assets/using_isin.md.CEjFC0Kw.js rename to dev/assets/using_isin.md.CciDktiA.js index e2cb18b4..05fe3632 100644 --- a/dev/assets/using_isin.md.CEjFC0Kw.js +++ b/dev/assets/using_isin.md.CciDktiA.js @@ -84,16 +84,16 @@ import{_ as s,c as i,o as a,a7 as n}from"./chunks/framework.D-rV3Mrg.js";const E tlon :: Real = 0, tlat :: Real = 0, throw :: Bool = false -) -> Bool

Check if a geographical point point is within a GeoRegion defined by geo.

source


# Base.inMethod.
julia
in(
+) -> Bool

Check if a geographical point point is within a GeoRegion defined by geo.

source


# Base.inMethod.
julia
in(
     Child  :: GeoRegion,
     rectG  :: RectRegion;
     throw  :: Bool = false
-) -> Bool

Check if a child GeoRegion defined by Child is within a RectRegion rectG.

Arguments

  • Child : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • rectG : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • throw : If true, then if Child is not within polyG, an error is thrown and the program stops running

source


# Base.inMethod.
julia
in(
+) -> Bool

Check if a child GeoRegion defined by Child is within a RectRegion rectG.

Arguments

  • Child : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • rectG : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • throw : If true, then if Child is not within polyG, an error is thrown and the program stops running

source


# Base.inMethod.
julia
in(
     cgeo  :: GeoRegion,
     geo   :: Union{TiltRegion,PolyRegion};
     n     :: Int = 100,
     throw :: Bool = false
-) -> Bool

Check if a child GeoRegion defined by cgeo is within a TiltRegion or PolyRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • geo : A TiltRegion or PolyRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • n : Number of points per polygon side to test

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running

source


@example
removeGeoRegion("BIG")
+) -> Bool

Check if a child GeoRegion defined by cgeo is within a TiltRegion or PolyRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • geo : A TiltRegion or PolyRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • n : Number of points per polygon side to test

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running

source


@example
removeGeoRegion("BIG")
 removeGeoRegion("TS1")
 removeGeoRegion("TS2")
 removeGeoRegion("TS3")
diff --git a/dev/assets/using_isin.md.CEjFC0Kw.lean.js b/dev/assets/using_isin.md.CciDktiA.lean.js
similarity index 100%
rename from dev/assets/using_isin.md.CEjFC0Kw.lean.js
rename to dev/assets/using_isin.md.CciDktiA.lean.js
diff --git a/dev/example/placeholder.html b/dev/example/placeholder.html
index d4df6b02..a83719e9 100644
--- a/dev/example/placeholder.html
+++ b/dev/example/placeholder.html
@@ -8,17 +8,17 @@
     
     
     
-    
+    
     
     
-    
+    
     
     
     
   
   
     
-    
+    
     
   
 
\ No newline at end of file
diff --git a/dev/georegions/create.html b/dev/georegions/create.html
index d744c957..5aaba24f 100644
--- a/dev/georegions/create.html
+++ b/dev/georegions/create.html
@@ -8,11 +8,11 @@
     
     
     
-    
+    
     
     
-    
-    
+    
+    
     
     
   
@@ -20,13 +20,13 @@
     
Skip to content

Creating GeoRegions

In this section, we go through the basic steps of creating a GeoRegion, and removing it once defined so it can be redefined.

Defining a new GeoRegion

We use the functions RectRegion and PolyRegion to define rectilinear and polygonal regions respectively. For example, we construct the sample RectRegion TRC

julia
julia> using GeoRegions
 
 julia> RectRegion("TRC","GLB","Test Rectangle Region",[30,20,50,10])
-[ Info: 2024-07-26T20:03:50.044 - GeoRegions.jl - Checking to see if the ID TRC is in use
-┌ Warning: 2024-07-26T20:03:50.128 - GeoRegions.jl - TRC is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
+[ Info: 2024-07-26T20:59:43.572 - GeoRegions.jl - Checking to see if the ID TRC is in use
+┌ Warning: 2024-07-26T20:59:43.658 - GeoRegions.jl - TRC is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:562
-[ Info: 2024-07-26T20:03:50.131 - GeoRegions.jl - Adding the GeoRegion TRC to the list.
-[ Info: 2024-07-26T20:03:50.157 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
-[ Info: 2024-07-26T20:03:50.612 - GeoRegions.jl - Performing a check to determine if the Test Rectangle Region GeoRegion (TRC) is inside the Globe GeoRegion (GLB)
-[ Info: 2024-07-26T20:03:50.612 - GeoRegions.jl - The GeoRegion TRC (Test Rectangle Region) is indeed a subset of the GeoRegion GLB (Globe)
+[ Info: 2024-07-26T20:59:43.660 - GeoRegions.jl - Adding the GeoRegion TRC to the list.
+[ Info: 2024-07-26T20:59:43.686 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
+[ Info: 2024-07-26T20:59:44.139 - GeoRegions.jl - Performing a check to determine if the Test Rectangle Region GeoRegion (TRC) is inside the Globe GeoRegion (GLB)
+[ Info: 2024-07-26T20:59:44.139 - GeoRegions.jl - The GeoRegion TRC (Test Rectangle Region) is indeed a subset of the GeoRegion GLB (Globe)
 The Rectilinear Region TRC has the following properties:
     Region ID    (ID) : TRC
     Parent ID   (pID) : GLB
@@ -35,13 +35,13 @@
         (is180,is360) : (false, true)
 
 julia> PolyRegion("TPL","GLB","Test Polygonal Region",[30,40,50,40,30],[20,30,20,10,20])
-[ Info: 2024-07-26T20:03:51.137 - GeoRegions.jl - Checking to see if the ID TPL is in use
-┌ Warning: 2024-07-26T20:03:51.137 - GeoRegions.jl - TPL is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
+[ Info: 2024-07-26T20:59:44.867 - GeoRegions.jl - Checking to see if the ID TPL is in use
+┌ Warning: 2024-07-26T20:59:44.868 - GeoRegions.jl - TPL is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:562
-[ Info: 2024-07-26T20:03:51.137 - GeoRegions.jl - Adding the GeoRegion TPL to the list.
-[ Info: 2024-07-26T20:03:51.285 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
-[ Info: 2024-07-26T20:03:51.324 - GeoRegions.jl - Performing a check to determine if the Test Polygonal Region GeoRegion (TPL) is inside the Globe GeoRegion (GLB)
-[ Info: 2024-07-26T20:03:51.324 - GeoRegions.jl - The GeoRegion TPL (Test Polygonal Region) is indeed a subset of the GeoRegion GLB (Globe)
+[ Info: 2024-07-26T20:59:44.868 - GeoRegions.jl - Adding the GeoRegion TPL to the list.
+[ Info: 2024-07-26T20:59:45.016 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
+[ Info: 2024-07-26T20:59:45.055 - GeoRegions.jl - Performing a check to determine if the Test Polygonal Region GeoRegion (TPL) is inside the Globe GeoRegion (GLB)
+[ Info: 2024-07-26T20:59:45.055 - GeoRegions.jl - The GeoRegion TPL (Test Polygonal Region) is indeed a subset of the GeoRegion GLB (Globe)
 The Polygonal Region TPL has the following properties:
     Region ID    (ID) : TPL
     Parent ID   (pID) : GLB
@@ -51,9 +51,9 @@
         (is180,is360) : (false, true)

Defining PolyRegions

When defining PolyRegions, the first and last set of (lon,lat) coordinates must be the same (i.e. a closed polygon must be defined)

The GeoRegions will be automatically added to the following files in joinpath(DEPOT_PATH[1],"files","GeoRegions"):

  • RectRegions will be added to rectlist.txt

  • PolyRegions will be added to polylist.txt

If the GeoRegion ID TRC already exists, however, this will throw an error

julia
julia> using GeoRegions
 
 julia> RectRegion("TRC","GLB","Test Rectangle Region2",[40,20,52,10])
-[ Info: 2024-07-26T20:03:51.865 - GeoRegions.jl - Checking to see if the ID TRC is in use
-[ Info: 2024-07-26T20:03:51.865 - GeoRegions.jl - The ID TRC is already in use
-ERROR: 2024-07-26T20:03:51.865 - GeoRegions.jl - The GeoRegion TRC has already been defined.  Please use another identifier.
# GeoRegions.RectRegionMethod.
julia
RectRegion(
+[ Info: 2024-07-26T20:59:45.558 - GeoRegions.jl - Checking to see if the ID TRC is in use
+[ Info: 2024-07-26T20:59:45.558 - GeoRegions.jl - The ID TRC is already in use
+ERROR: 2024-07-26T20:59:45.558 - GeoRegions.jl - The GeoRegion TRC has already been defined.  Please use another identifier.
# GeoRegions.RectRegionMethod.
julia
RectRegion(
     RegID :: AbstractString,
     ParID :: AbstractString,
     name  :: AbstractString,
@@ -63,7 +63,7 @@
     verbose :: Bool = true,
     ST = String,
     FT = Float64
-) -> RectRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • bound : The [N,S,E,W] coordinates defining the region

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

source


# GeoRegions.PolyRegionMethod.
julia
PolyRegion(
+) -> RectRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • bound : The [N,S,E,W] coordinates defining the region

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

source


# GeoRegions.PolyRegionMethod.
julia
PolyRegion(
     RegID :: AbstractString,
     ParID :: AbstractString,
     name  :: AbstractString,
@@ -74,32 +74,32 @@
     verbose :: Bool = true,
     ST = String,
     FT = Float64
-) -> PolyRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • lon : A vector containing the longitude points

  • lat : A vector containing the latitude points

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

Start and End Points

The 1st and last elements of lon and lat must be equal.

source


Is it already a GeoRegion?

Sometimes we would like to independently check if an ID has already been used. We can use the function isGeoRegion() to perform this checkIf the GeoRegion IDTRC` already exists, however, this will throw an error

# GeoRegions.isGeoRegionFunction.
julia
isGeoRegion(
+) -> PolyRegion{ST,FT}

Creates a rectilinear GeoRegion RegID.

Arguments

  • RegID : The keyword ID that will be used to identify the GeoRegion. If the ID is already in use, then an error will be thrown.

  • ParID : The ID of the parent GeoRegion where information can be extracted from

  • name : A name for the GeoRegion (meta information, can be used in Logging)

  • lon : A vector containing the longitude points

  • lat : A vector containing the latitude points

Keyword Arguments

  • save : Save the GeoRegion into the master list? Default is true

  • verbose : Verbose logging for ease of monitoring? Default is true

Start and End Points

The 1st and last elements of lon and lat must be equal.

source


Is it already a GeoRegion?

Sometimes we would like to independently check if an ID has already been used. We can use the function isGeoRegion() to perform this checkIf the GeoRegion IDTRC` already exists, however, this will throw an error

# GeoRegions.isGeoRegionFunction.
julia
isGeoRegion(
     geoID :: AbstractString;
     throw :: Bool = true
-) -> tf :: Bool

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

  • throw : If true, then throws an error if geoID is not a valid GeoRegion identifier instead of returning the Boolean tf

Returns

  • tf : True / False

source


julia
julia> using GeoRegions
+) -> tf :: Bool

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

  • throw : If true, then throws an error if geoID is not a valid GeoRegion identifier instead of returning the Boolean tf

Returns

  • tf : True / False

source


julia
julia> using GeoRegions
 
 julia> isGeoRegion("AR6_SEA")
-[ Info: 2024-07-26T20:03:52.669 - GeoRegions.jl - Checking to see if the ID AR6_SEA is in use
-[ Info: 2024-07-26T20:03:52.669 - GeoRegions.jl - The ID AR6_SEA is already in use
+[ Info: 2024-07-26T20:59:46.132 - GeoRegions.jl - Checking to see if the ID AR6_SEA is in use
+[ Info: 2024-07-26T20:59:46.133 - GeoRegions.jl - The ID AR6_SEA is already in use
 true
 
 julia> isGeoRegion("RND",throw=false)
-[ Info: 2024-07-26T20:03:52.682 - GeoRegions.jl - Checking to see if the ID RND is in use
-┌ Warning: 2024-07-26T20:03:52.682 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
+[ Info: 2024-07-26T20:59:46.144 - GeoRegions.jl - Checking to see if the ID RND is in use
+┌ Warning: 2024-07-26T20:59:46.144 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:562
 false
 
 julia> isGeoRegion("RND")
-[ Info: 2024-07-26T20:03:52.683 - GeoRegions.jl - Checking to see if the ID RND is in use
-ERROR: 2024-07-26T20:03:52.683 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Removing an existing GeoRegion

To remove an existing GeoRegion, we can use the function removeGeoRegion

julia
julia> using GeoRegions
+[ Info: 2024-07-26T20:59:46.145 - GeoRegions.jl - Checking to see if the ID RND is in use
+ERROR: 2024-07-26T20:59:46.145 - GeoRegions.jl - RND is not a valid GeoRegion identifier, use RectRegion(), TiltRegion() or PolyRegion() to add this GeoRegion to the list.

Removing an existing GeoRegion

To remove an existing GeoRegion, we can use the function removeGeoRegion

julia
julia> using GeoRegions
 
 julia> removeGeoRegion("TRC")
 ERROR: UndefVarError: `removeGeoRegion` not defined

Global GeoRegion

The Global GeoRegion GLB is considered to be an integral part of the GeoRegions.jl package and therefore it cannot be removed.

julia
julia> using GeoRegions
 
 julia> removeGeoRegion("GLB")
 ERROR: UndefVarError: `removeGeoRegion` not defined

Missing docstring.

Missing docstring for removeGeoRegion(::AbstractString). Check Documenter's build log for details.

Reset the list of GeoRegions

Should one wish to entirely reset the list of GeoRegions, one can call resetGeoRegions(). See Custom GeoRegions for more details.

- + \ No newline at end of file diff --git a/dev/georegions/intro.html b/dev/georegions/intro.html index 11a5b8a7..24a62ad8 100644 --- a/dev/georegions/intro.html +++ b/dev/georegions/intro.html @@ -8,18 +8,18 @@ - + - - + +
Skip to content

What is a GeoRegion?

Simply put, a GeoRegion is a geographic region. In v1 of GeoRegions.jl, a GeoRegion could only be rectilinear in shape. However, as of GeoRegions.jl v2, we use Julia types to differentiate between rectilinear GeoRegions, and GeoRegions of arbitrary polygonal shape:

  • Rectilinear GeoRegions are denoted by the RectRegion type

  • Polygonal GeoRegions are denoted by the PolyRegion type

The main difference between a PolyRegion and a RectRegion, is that a PolyRegion also contains a mask field which allows us to extract a data field of a polygonal shape from the rectilinear bounds that are the natural result of a rectilinear grid.

# GeoRegions.GeoRegionType.
julia
GeoRegion

Abstract supertype for geographical regions, with the following subtypes:

RectRegion{ST<:AbstractString, FT<:Real} <: GeoRegion
-PolyRegion{ST<:AbstractString, FT<:Real} <: GeoRegion

Both RectRegion and PolyRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion

  • pID - A String Type, the identifier for the parent GeoRegion

  • name - A String Type, the full name of the GeoRegion

  • N - A Float Type, the north boundary of the GeoRegion

  • S - A Float Type, the south boundary of the GeoRegion

  • E - A Float Type, the east boundary of the GeoRegion

  • W - A Float Type, the est boundary of the GeoRegion

  • is180 - A Bool Type, is W < 0

  • is360 - A Bool Type, is E > 180

A PolyRegion type will also contain the following field:

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

source


In essence, a GeoRegion is:

  • a geographical region that can be either rectilinear region, or a polygonal shape within a specified rectilinear bound.

  • identified by an ID

  • itself a subregion of a parent GeoRegion (identified by pID, which must itself be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

- +PolyRegion{ST<:AbstractString, FT<:Real} <: GeoRegion

Both RectRegion and PolyRegion types contain the following fields:

  • ID - A String Type, the identifier for the GeoRegion

  • pID - A String Type, the identifier for the parent GeoRegion

  • name - A String Type, the full name of the GeoRegion

  • N - A Float Type, the north boundary of the GeoRegion

  • S - A Float Type, the south boundary of the GeoRegion

  • E - A Float Type, the east boundary of the GeoRegion

  • W - A Float Type, the est boundary of the GeoRegion

  • is180 - A Bool Type, is W < 0

  • is360 - A Bool Type, is E > 180

A PolyRegion type will also contain the following field:

  • shape - A vector of Point2 Types, defining a non-rectilinear shape of the GeoRegion

source


In essence, a GeoRegion is:

  • a geographical region that can be either rectilinear region, or a polygonal shape within a specified rectilinear bound.

  • identified by an ID

  • itself a subregion of a parent GeoRegion (identified by pID, which must itself be a valid ID)

Default GeoRegions

When using GeoRegions.jl, the default GeoRegion should generally be the global domain, specified by GLB and given by the [N,S,E,W] coordinates [90,-90,360,0]. The Global GeoRegion GLB is considered to be a subset of itself.

+ \ No newline at end of file diff --git a/dev/georegions/predefined.html b/dev/georegions/predefined.html index 9cec5fc1..f95241ec 100644 --- a/dev/georegions/predefined.html +++ b/dev/georegions/predefined.html @@ -8,11 +8,11 @@ - + - - + + @@ -20,7 +20,7 @@
Skip to content

List of Available GeoRegions

This page contains a list of the GeoRegions that are currently available in GeoRegions.jl.

The default GeoRegion covers the global domain identified as GLB

julia
julia> using GeoRegions
 
 julia> GeoRegion("GLB")
-[ Info: 2024-07-26T20:03:52.755 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
+[ Info: 2024-07-26T20:59:46.214 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GLB
 The Rectilinear Region GLB has the following properties:
     Region ID    (ID) : GLB
     Parent ID   (pID) : GLB
@@ -29,7 +29,7 @@
         (is180,is360) : (false, true)

Adapted from Giorgi & Francisco [2000]

Add the GF_ prefix to the 3-letter IDs given in Giorgi & Francisco [2000] to call GeoRegions adapted from this paper. All GeoRegions are defined as the RectRegion type.

Defined in GeoRegions > 1.1

All GF_* domains are defined only in versions ≥1.1

julia
julia> using GeoRegions
 
 julia> GeoRegion("GF_WAF")
-[ Info: 2024-07-26T20:03:52.758 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GF_WAF
+[ Info: 2024-07-26T20:59:46.216 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID GF_WAF
 The Rectilinear Region GF_WAF has the following properties:
     Region ID    (ID) : GF_WAF
     Parent ID   (pID) : GLB
@@ -38,7 +38,7 @@
         (is180,is360) : (true, false)

SREX Regions adapted from Seneviratne et al. [2012]

Add the SRX_ prefix to the 3-letter IDs given in Seneviratne et al. [2012] to call GeoRegions adapted from this paper. All GeoRegions are defined as the PolyRegion type, even though many of them are rectilinear.

Defined in GeoRegions ≧ 2

All SRX_* domains are defined only in versions ≥2

julia
julia> using GeoRegions
 
 julia> GeoRegion("SRX_CNA")
-[ Info: 2024-07-26T20:03:52.761 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID SRX_CNA
+[ Info: 2024-07-26T20:59:46.219 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID SRX_CNA
 The Polygonal Region SRX_CNA has the following properties:
     Region ID    (ID) : SRX_CNA
     Parent ID   (pID) : GLB
@@ -48,7 +48,7 @@
         (is180,is360) : (true, false)

AR6 Regions adapted from Iturbide et al., [2020]

Add the AR6_ prefix to the 3-letter IDs given in Iturbide et al., [2020] to call GeoRegions adapted from this paper. All GeoRegions are defined as the PolyRegion type.

Defined in GeoRegions ≧ 2

All AR6_* domains are defined only in versions ≥2

julia
julia> using GeoRegions
 
 julia> GeoRegion("AR6_EAS")
-[ Info: 2024-07-26T20:03:52.772 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID AR6_EAS
+[ Info: 2024-07-26T20:59:46.230 - GeoRegions.jl - Retrieving information for the GeoRegion defined by the ID AR6_EAS
 The Polygonal Region AR6_EAS has the following properties:
     Region ID    (ID) : AR6_EAS
     Parent ID   (pID) : GLB
@@ -56,7 +56,7 @@
     Bounds  (N,S,E,W) : [45.0, 19.5, 152.0, 100.0]
     Shape     (shape) : Point{2, Float64}[[100.0, 19.5], [100.0, 37.0], [108.0, 37.0], [117.0, 45.0], [152.0, 45.0], [132.0, 25.0], [132.0, 19.5], [100.0, 19.5]]
         (is180,is360) : (false, true)
- + \ No newline at end of file diff --git a/dev/georegions/read.html b/dev/georegions/read.html index b96400e4..c8895b65 100644 --- a/dev/georegions/read.html +++ b/dev/georegions/read.html @@ -8,11 +8,11 @@ - + - - + + @@ -31,7 +31,7 @@ Name (name) : Northwest North America Bounds (N,S,E,W) : [81.0, 50.0, -105.0, -168.0] Shape (shape) : Point{2, Float64}[[-105.0, 50.0], [-130.0, 50.0], [-143.0, 58.0], [-168.0, 52.5], [-168.0, 72.6], [-129.0, 72.6], [-125.0, 77.6], [-105.0, 81.0], [-105.0, 50.0]] - (is180,is360) : (true, false)
# GeoRegions.GeoRegionMethod.
julia
GeoRegion(geoID::AbstractString) -> geo::GeoRegion

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Returns

  • geo : A GeoRegion

source


The Difference between Bounds and Shape in a PolyRegion

What is the difference between the fields bound and shape in a PolyRegion? The answer is simple: a bound is a rectilinear-region in the lon-lat coordinate system, while the shape denotes the actual PolyRegion. We retrieve the longitude and latitude coordinates for the bound and shape fields using the function coordGeoRegion().

Bound and Shape in RectRegion

There is no field shape in a RectRegion because the shape of a RectRegion is defined by its rectilinear bound.

@example
blon,blat,slon,slat = coordGeoRegion(GeoRegion("AR6_NWN"))

From plotting the bounds (blon,blat) and the shape(slon,slat), we see that the bound is the region defined by the westernmost, easternmost, northernmost and southernmost coordinates of the shape.

@example
aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
+        (is180,is360) : (true, false)
# GeoRegions.GeoRegionMethod.
julia
GeoRegion(geoID::AbstractString) -> geo::GeoRegion

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • geoID : The keyword ID that will be used to identify the GeoRegion. If the ID is not valid (i.e. not being used), then an error will be thrown.

Returns

  • geo : A GeoRegion

source


The Difference between Bounds and Shape in a PolyRegion

What is the difference between the fields bound and shape in a PolyRegion? The answer is simple: a bound is a rectilinear-region in the lon-lat coordinate system, while the shape denotes the actual PolyRegion. We retrieve the longitude and latitude coordinates for the bound and shape fields using the function coordGeoRegion().

Bound and Shape in RectRegion

There is no field shape in a RectRegion because the shape of a RectRegion is defined by its rectilinear bound.

@example
blon,blat,slon,slat = coordGeoRegion(GeoRegion("AR6_NWN"))

From plotting the bounds (blon,blat) and the shape(slon,slat), we see that the bound is the region defined by the westernmost, easternmost, northernmost and southernmost coordinates of the shape.

@example
aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
 fig = Figure()
 ax = Axis(
     fig[1,1],width=750,height=750/aspect,
@@ -41,10 +41,10 @@
 lines!(ax,slon,slat,linewidth=5)
 lines!(ax,blon,blat,linewidth=5)
 resize_to_layout!(fig)
-fig
# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::RectRegion) -> blon::Vector{<:Real}, blat::Vector{<:Real}

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vector.

Arguments

  • geo : A RectRegion (i.e. a rectilinear GeoRegion)

Returns

  • lon : A vector of longitude points for the bound of the GeoRegion

  • lat : A vector of latitude points for the bound of the GeoRegion

source


# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::PolyRegion) ->
+fig
# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::RectRegion) -> blon::Vector{<:Real}, blat::Vector{<:Real}

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vector.

Arguments

  • geo : A RectRegion (i.e. a rectilinear GeoRegion)

Returns

  • lon : A vector of longitude points for the bound of the GeoRegion

  • lat : A vector of latitude points for the bound of the GeoRegion

source


# GeoRegions.coordGeoRegionMethod.
julia
coordGeoRegion(geo::PolyRegion) ->
     blon::Vector{<:Real}, blat::Vector{<:Real},
-    slon::Vector{<:Real}, slat::Vector{<:Real},

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vectors for the bound and the shape of the GeoRegion

Arguments

  • geo : A PolyRegion (i.e. a polygonal GeoRegion)

Returns

  • lon : A vector of longitude points for the shape of the GeoRegion

  • lat : A vector of latitude points for the shape of the GeoRegion

source


- + slon::Vector{<:Real}, slat::Vector{<:Real},

For a given RectRegion, extract the [N,S,E,W] bounds and create a longitude and latitude vectors for the bound and the shape of the GeoRegion

Arguments

  • geo : A PolyRegion (i.e. a polygonal GeoRegion)

Returns

  • lon : A vector of longitude points for the shape of the GeoRegion

  • lat : A vector of latitude points for the shape of the GeoRegion

source


+ \ No newline at end of file diff --git a/dev/hashmap.json b/dev/hashmap.json index 4940c568..a7e369b4 100644 --- a/dev/hashmap.json +++ b/dev/hashmap.json @@ -1 +1 @@ -{"api.md":"DeaiB-DY","example_placeholder.md":"DnDe5qSP","georegions_create.md":"DGRT2KfF","georegions_intro.md":"CwvHjD0U","georegions_predefined.md":"DsRvT2RP","georegions_read.md":"D7dhWMJy","index.md":"Dp_QnrIm","landsea_create.md":"PBdi5Jlb","landsea_intro.md":"BAyQ9uQb","landsea_smooth.md":"pJRNzDIc","lists_api.md":"DuFH__au","lists_default.md":"B5-BPZV6","regiongrids_create.md":"DokQHSvO","regiongrids_intro.md":"Vmx6LIRJ","using_custom.md":"BTCMo8W5","using_extract.md":"OzNSx-Bi","using_isin.md":"CEjFC0Kw"} +{"api.md":"DGrKVg2x","example_placeholder.md":"DnDe5qSP","georegions_create.md":"DttYQm49","georegions_intro.md":"CXPMdQ0A","georegions_predefined.md":"BNMn-hkR","georegions_read.md":"g9W6EO8y","index.md":"Dp_QnrIm","landsea_create.md":"CHObN1Gw","landsea_intro.md":"AkTwbHX9","landsea_smooth.md":"C3Ll6ayu","lists_api.md":"HGUNhvi_","lists_default.md":"B5-BPZV6","regiongrids_create.md":"D7LE_LNL","regiongrids_intro.md":"CvXsDI9Z","using_custom.md":"DyjSpJrS","using_extract.md":"B8VZ24LQ","using_isin.md":"CciDktiA"} diff --git a/dev/index.html b/dev/index.html index 00edf043..54e8b24c 100644 --- a/dev/index.html +++ b/dev/index.html @@ -8,10 +8,10 @@ - + - + @@ -19,7 +19,7 @@
Skip to content

GeoRegions.jl

Geographic Regions for Gridded Data

Extract and analyze gridded Earth Observation data in a few simple steps.

GeoRegions

Installation Instructions

The latest version of GeoRegions can be installed using the Julia package manager (accessed by pressing ] in the Julia command prompt)

julia
julia> ]
 (@v1.10) pkg> add GeoRegions

You can update GeoRegions.jl to the latest version using

julia
(@v1.10) pkg> update GeoRegions

And if you want to get the latest release without waiting for me to update the Julia Registry (although this generally isn't necessary since I make a point to release patch versions as soon as I find bugs or add new working features), you may fix the version to the main branch of the GitHub repository:

julia
(@v1.10) pkg> add GeoRegions#main

Getting help

If you are interested in using GeoRegions.jl or are trying to figure out how to use it, please feel free to ask me questions and get in touch! Please feel free to open an issue if you have any questions, comments, suggestions, etc!

- + \ No newline at end of file diff --git a/dev/landsea/create.html b/dev/landsea/create.html index 3df9dd1e..967a9a1a 100644 --- a/dev/landsea/create.html +++ b/dev/landsea/create.html @@ -8,11 +8,11 @@ - + - - + + @@ -67,8 +67,8 @@ σlat :: Int = 0, iterations :: Int = 100, FT = Float32 -) -> LandSea

Retrieve ETOPO 2022 data for a GeoRegion from OPeNDAP servers

Arguments

  • geo : The GeoRegion of interest

Keyword Arguments

  • path :: The path to which an ETOPO folder is created within and ETOPO LandSea data saved into

  • resolution : The resolution of the dataset to be downloaded, in units of arc-seconds. Possible values are 15, 30 and 60, default is 60.

  • bedrock, geoid : The type of ETOPO data (bedrock, geoid, ice-surface) to be downloaded. Bedrock has priority over geoid, so if both are true, the bedrock is downloaded.

  • savelsd : Save LandSea dataset into a local NetCDF file.

  • returnlsd : If savelsd = true, you can choose to simply save the data into the NetCDF file, or load return it as a LandSea dataset. Otherwise, if savelsd = false, you always return the LandSea dataset.

  • smooth : If smooth = true, then you can smooth the land-sea mask using the Gaussian Filter of ImageFiltering.jl such that the coastline (i.e. the separation between land and ocean) becomes blurred.

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


- +) -> LandSea

Retrieve ETOPO 2022 data for a GeoRegion from OPeNDAP servers

Arguments

  • geo : The GeoRegion of interest

Keyword Arguments

  • path :: The path to which an ETOPO folder is created within and ETOPO LandSea data saved into

  • resolution : The resolution of the dataset to be downloaded, in units of arc-seconds. Possible values are 15, 30 and 60, default is 60.

  • bedrock, geoid : The type of ETOPO data (bedrock, geoid, ice-surface) to be downloaded. Bedrock has priority over geoid, so if both are true, the bedrock is downloaded.

  • savelsd : Save LandSea dataset into a local NetCDF file.

  • returnlsd : If savelsd = true, you can choose to simply save the data into the NetCDF file, or load return it as a LandSea dataset. Otherwise, if savelsd = false, you always return the LandSea dataset.

  • smooth : If smooth = true, then you can smooth the land-sea mask using the Gaussian Filter of ImageFiltering.jl such that the coastline (i.e. the separation between land and ocean) becomes blurred.

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


+ \ No newline at end of file diff --git a/dev/landsea/intro.html b/dev/landsea/intro.html index a8007f42..b84df775 100644 --- a/dev/landsea/intro.html +++ b/dev/landsea/intro.html @@ -8,18 +8,18 @@ - + - - + +
Skip to content

Land-Sea Mask Datasets

Starting from v5, GeoRegions.jl now fully supports the retrieval of 30- and 60-arcsecond ETOPO orographic data, which includes the following options:

  • Topography that follows the ice-surface (surface)

  • Topography that follows the bedrock beneath the ice (bedrock)

  • Geoid data that converts the Topography into WTGS84 ellipsoid elevation heights

The AbstractLandSea SuperType

The data is loaded into a LandSea dataset struct-type, which is a subset of the supertype AbstractLandSea. We export this supertype, and its abstract subtypes LandSeaTopo and LandSeaFlat, so that other packages can extend the use of these abstract types with their own LandSea Types.

For examples of how to extend the functionality of the LandSea datasets, you may refer to the following examples:

# GeoRegions.AbstractLandSeaType.
julia
AbstractLandSea

Abstract supertype for LandSea Datasets, with the following subtypes:

LandSeaTopo <: AbstractLandSea
-LandSeaFlat <: AbstractLandSea

Both LandSeaTopo and LandSeaFlat types contain the following fields:

  • lon - Vector containing the longitude points for the Land-Sea Dataset

  • lat - Vector containing the latitude points for the Land-Sea Dataset

  • lsm - Array containing data regarding the Land-Sea Mask. 1 is Land, 0 is Ocean, NaN is outside the bounds of the GeoRegion

  • mask - Mask determining if point is within the GeoRegion or not. 1 is true, 0 is false.

A LandSeaTopo type will also contain the following field:

  • z - Array containing data regarding the Orographic Height in meters. NaN is outside the bounds of the GeoRegion

source


The LandSea Type for GeoRegions.jl

# GeoRegions.LandSeaType.
julia
GeoRegion.LandSea <: LandSeaTopo

Object containing information on the ETOPO 2022 Land Sea mask for a GeoRegion.

source


- +LandSeaFlat <: AbstractLandSea

Both LandSeaTopo and LandSeaFlat types contain the following fields:

  • lon - Vector containing the longitude points for the Land-Sea Dataset

  • lat - Vector containing the latitude points for the Land-Sea Dataset

  • lsm - Array containing data regarding the Land-Sea Mask. 1 is Land, 0 is Ocean, NaN is outside the bounds of the GeoRegion

  • mask - Mask determining if point is within the GeoRegion or not. 1 is true, 0 is false.

A LandSeaTopo type will also contain the following field:

  • z - Array containing data regarding the Orographic Height in meters. NaN is outside the bounds of the GeoRegion

source


The LandSea Type for GeoRegions.jl

# GeoRegions.LandSeaType.
julia
GeoRegion.LandSea <: LandSeaTopo

Object containing information on the ETOPO 2022 Land Sea mask for a GeoRegion.

source


+ \ No newline at end of file diff --git a/dev/landsea/smooth.html b/dev/landsea/smooth.html index fafec885..06a693b5 100644 --- a/dev/landsea/smooth.html +++ b/dev/landsea/smooth.html @@ -8,11 +8,11 @@ - + - - + + @@ -95,29 +95,29 @@ σlat :: Int = 0, iterations :: Int = 100, topography :: Bool = false -) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaTopo Mask dataset. If usetopography is set to true, then before the filtering, any points where height >= 0 is set to 1, and <0 is set = 0.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset with Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

  • topography : If true, then the land-sea mask that is smoothed will be based on the topography instead of the raw ERA5 land-sea mask

source

julia
smooth!(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaTopo Mask dataset. If usetopography is set to true, then before the filtering, any points where height >= 0 is set to 1, and <0 is set = 0.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset with Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

  • topography : If true, then the land-sea mask that is smoothed will be based on the topography instead of the raw ERA5 land-sea mask

source

julia
smooth!(
     lsd  :: LandSeaFlat;
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaFlat Mask dataset.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset without Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a LandSeaFlat Mask dataset.

The smoothed land-sea mask will be saved into lsd.lsm

Arguments

  • lsd : A Land-Sea Dataset without Topography

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
     lsm  :: Array{<:Real,2};
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> nothing

Perform a gaussian smoothing on the Land-Sea mask.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • lsm : A Land-Sea Mask

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • lsm : A Land-Sea Mask

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source

julia
smooth!(
     lsm  :: Array{<:Real,2},
     oro  :: Array{<:Real,2};
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a corresponding topographic dataset.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • olsm : The old Land-Sea Mask

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


# GeoRegions.smoothlsmFunction.
julia
smoothlsm(
+) --> nothing

Perform a gaussian smoothing on the Land-Sea mask given a corresponding topographic dataset.

The smoothed land-sea mask will be saved into lsm.

Arguments

  • olsm : The old Land-Sea Mask

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


# GeoRegions.smoothlsmFunction.
julia
smoothlsm(
     oro  :: Array{<:Real,2};
     σlon :: Int = 0,
     σlat :: Int = 0,
     iterations :: Int = 100
-) --> Array{<:Real,2}

Perform a gaussian smoothing on the Land-Sea mask

Arguments

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


- +) --> Array{<:Real,2}

Perform a gaussian smoothing on the Land-Sea mask

Arguments

  • oro : A topographic dataset that the smoothing will be based off

Keyword Arguments

  • σlon : Smooth in the longitude direction (every increase of 1 in σlon roughly corresponds to 8 pixels)

  • σlat : Smooth in the latitude direction (every increase of 1 in σlat roughly corresponds to 8 pixels)

  • iterations : Iterations of gausssian smoothing, the higher, the closer the smoothing follows a semi-log. 50-100 iterations is generally enough.

source


+ \ No newline at end of file diff --git a/dev/lists/api.html b/dev/lists/api.html index b1b93206..e5467bfe 100644 --- a/dev/lists/api.html +++ b/dev/lists/api.html @@ -8,11 +8,11 @@ - + - - + + @@ -33,15 +33,15 @@ GLB RectRegion Globe GLB rectlist.txt TRC RectRegion Test Rectangle Region GLB rectlist.txt TPL PolyRegion Test Polygonal Region GLB polylist.txt - ----- ------------ ----------------------- -------- --------------
# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(; onlycustom::Bool) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


More specific lists of GeoRegions

Besides listing all available GeoRegions, it is also possible to list a variety of different specifications of GeoRegions with the tableGeoRegions() function, as well as tableRectRegions() and tablePolyRegions().

# GeoRegions.tableRectRegionsFunction.
julia
tableRectRegions(;
+ ----- ------------ ----------------------- -------- --------------
# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(; onlycustom::Bool) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


More specific lists of GeoRegions

Besides listing all available GeoRegions, it is also possible to list a variety of different specifications of GeoRegions with the tableGeoRegions() function, as well as tableRectRegions() and tablePolyRegions().

# GeoRegions.tableRectRegionsFunction.
julia
tableRectRegions(;
     custom :: Bool = true,
     giorgi :: Bool = false
-) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • giorgi : If true, display Giorgi predefined GeoRegions. Default is false

source


# GeoRegions.tablePolyRegionsFunction.
julia
tablePolyRegions(;
+) -> nothing

Display all available RectRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • giorgi : If true, display Giorgi predefined GeoRegions. Default is false

source


# GeoRegions.tablePolyRegionsFunction.
julia
tablePolyRegions(;
     custom :: Bool = true,
     srex :: Bool = false,
     ar6  :: Bool = false
-) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • srex : If true, display SREX predefined GeoRegions. Default is false

  • ar6 : If true, display IPCC AR6 predefined GeoRegions. Default is false

source


Listing GeoRegions inside a Custom File

Similarly, it is also possible to list the GeoRegions in custom files. The template for these files can be retrieved using the function templateGeoRegions()

# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(fname::AbstractString) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


- +) -> nothing

Display all available PolyRegions in tabular format.

Keyword Arguments

  • custom : If true, display custom user-defined GeoRegions. Default is true

  • srex : If true, display SREX predefined GeoRegions. Default is false

  • ar6 : If true, display IPCC AR6 predefined GeoRegions. Default is false

source


Listing GeoRegions inside a Custom File

Similarly, it is also possible to list the GeoRegions in custom files. The template for these files can be retrieved using the function templateGeoRegions()

# GeoRegions.tableGeoRegionsMethod.
julia
tableGeoRegions(fname::AbstractString) -> nothing

Display all available GeoRegions in tabular format.

Keyword Arguments

  • onlycustom : If true, only custom, user-defined GeoRegions will be displayed. To show all available GeoRegions (including predefined GeoRegions), set onlycustom to false

source


+ \ No newline at end of file diff --git a/dev/lists/default.html b/dev/lists/default.html index c81340d4..dd8b9d6d 100644 --- a/dev/lists/default.html +++ b/dev/lists/default.html @@ -8,10 +8,10 @@ - + - + @@ -20,7 +20,7 @@ - + \ No newline at end of file diff --git a/dev/regiongrids/create.html b/dev/regiongrids/create.html index 74ce4b36..11766c3c 100644 --- a/dev/regiongrids/create.html +++ b/dev/regiongrids/create.html @@ -8,11 +8,11 @@ - + - - + + @@ -28,23 +28,10 @@ nothing

RectGrid Example

julia
geo  = GeoRegion("GF_SSA")
 lon  = -180:5:180
 lat  = -90:5:90
-ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
The Rectilinear Grid has the following properties:
-    Grid Bounds       (grid) : [15, 7, 29, 21]
-    Longitude Indices (ilon) : [21, 22, 23, 24, 25, 26, 27, 28, 29]
-    Latitude Indices  (ilat) : [7, 8, 9, 10, 11, 12, 13, 14, 15]
-    Longitude Points   (lon) : [280, 285, 290, 295, 300, 305, 310, 315, 320]
-    Latitude Points    (lat) : [-60, -55, -50, -45, -40, -35, -30, -25, -20]
-    Region Size (nlon * nlat) : 9 lon points x 9 lat points

PolyGrid Example

julia
geo  = GeoRegion("AR6_NWS")
+ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
RectGrid{Int64}([15, 7, 29, 21], [280, 285, 290, 295, 300, 305, 310, 315, 320], [-60, -55, -50, -45, -40, -35, -30, -25, -20], [21, 22, 23, 24, 25, 26, 27, 28, 29], [7, 8, 9, 10, 11, 12, 13, 14, 15])

PolyGrid Example

julia
geo  = GeoRegion("AR6_NWS")
 lon  = -180:2:180;
 lat  = -90:2:90;
-ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
The Polygonal Grid has the following properties:
-    Grid Bounds       (grid) : [52, 39, 55, 50]
-    Longitude Indices (ilon) : [50, 51, 52, 53, 54, 55]
-    Latitude Indices  (ilat) : [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52]
-    Longitude Points   (lon) : [-82.0, -80.0, -78.0, -76.0, -74.0, -72.0]
-    Latitude Points    (lat) : [-14.0, -12.0, -10.0, -8.0, -6.0, -4.0, -2.0, 0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 12.0]
-    Region Size (nlon * nlat) : 6 lon points x 14 lat points
-    Region Mask (sum(mask) / (nlon * nlat)) : 70 / 84

So here, we see that in this PolyGrid example, the RegionGrid contains an additional field mask that, within the rectilinear longitude-latitude shape bounding the GeoRegion (because gridded data here is assumed to be rectilinear), the data is within the GeoRegion. Values of 1 indicate it is within the GeoRegion, otherwise the values are `NaN.

julia
ggrd.mask
6×14 Matrix{Float64}:
+ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
PolyGrid{Float64}([52, 39, 55, 50], [-82.0, -80.0, -78.0, -76.0, -74.0, -72.0], [-14.0, -12.0, -10.0, -8.0, -6.0, -4.0, -2.0, 0.0, 2.0, 4.0, 6.0, 8.0, 10.0, 12.0], [50, 51, 52, 53, 54, 55], [39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52], [NaN NaN … NaN NaN; NaN 1.0 … NaN NaN; … ; 1.0 1.0 … 1.0 1.0; 1.0 1.0 … 1.0 1.0])

So here, we see that in this PolyGrid example, the RegionGrid contains an additional field mask that, within the rectilinear longitude-latitude shape bounding the GeoRegion (because gridded data here is assumed to be rectilinear), the data is within the GeoRegion. Values of 1 indicate it is within the GeoRegion, otherwise the values are `NaN.

julia
ggrd.mask
6×14 Matrix{Float64}:
  NaN    NaN    1.0  1.0  1.0  1.0  1.0  …  NaN    NaN    NaN    NaN    NaN
  NaN      1.0  1.0  1.0  1.0  1.0  1.0       1.0    1.0  NaN    NaN    NaN
    1.0    1.0  1.0  1.0  1.0  1.0  1.0       1.0    1.0    1.0  NaN    NaN
@@ -53,14 +40,7 @@
    1.0    1.0  1.0  1.0  1.0  1.0  1.0  …    1.0    1.0    1.0    1.0    1.0

The Mask of a PolyGrid

The PolyGrid type derived from a PolyRegion allows us to apply a mask to filter out data that is within the shape of a PolyRegion on a rectilinear lon-lat grid defined by the bound of a PolyRegion. We consider the following example of an AR6 region over South Asia:

julia
geo  = GeoRegion("AR6_SAS")
 lon  = -180:5:180;
 lat  = -90:2:90;
-ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
The Polygonal Grid has the following properties:
-    Grid Bounds       (grid) : [61, 50, 57, 49]
-    Longitude Indices (ilon) : [49, 50, 51, 52, 53, 54, 55, 56, 57]
-    Latitude Indices  (ilat) : [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61]
-    Longitude Points   (lon) : [60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0]
-    Latitude Points    (lat) : [8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0, 24.0, 26.0, 28.0, 30.0]
-    Region Size (nlon * nlat) : 9 lon points x 12 lat points
-    Region Mask (sum(mask) / (nlon * nlat)) : 55 / 108

And using the field mask, we plot the points that are in the region (blue), and out of the region (red).

@example
mask = ggrd.mask
+ggrd = RegionGrid(geo,lon[1:(end-1)],lat)
PolyGrid{Float64}([61, 50, 57, 49], [60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0], [8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0, 24.0, 26.0, 28.0, 30.0], [49, 50, 51, 52, 53, 54, 55, 56, 57], [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61], [NaN NaN … 1.0 1.0; NaN NaN … 1.0 1.0; … ; NaN NaN … 1.0 NaN; NaN NaN … 1.0 1.0])

And using the field mask, we plot the points that are in the region (blue), and out of the region (red).

@example
mask = ggrd.mask
 grid = ones(size(mask))
 inlon = grid .* ggrd.lon;  inlon = inlon[.!isnan.(mask)]
 inlat = grid .* ggrd.lat'; inlat = inlat[.!isnan.(mask)]
@@ -86,12 +66,12 @@
     geo :: GeoRegion,
     lon :: Union{Vector{<:Real},AbstractRange{<:Real},
     lat :: Union{Vector{<:Real},AbstractRange{<:Real}
-) -> RectGrid, PolyGrid

Creates a RectGrid or PolyGrid type based on the following arguments. This method is suitable for rectilinear grids of longitude/latitude output such as from Isca, or from satellite and reanalysis gridded datasets.

Arguments

  • geo : A GeoRegion of interest

  • lon : A vector or AbstractRange containing the longitude points

  • lat : A vector or AbstractRange containing the latitude points

source


# GeoRegions.RegionGridMethod.
julia
RegionGrid(
+) -> RectGrid, PolyGrid

Creates a RectGrid or PolyGrid type based on the following arguments. This method is suitable for rectilinear grids of longitude/latitude output such as from Isca, or from satellite and reanalysis gridded datasets.

Arguments

  • geo : A GeoRegion of interest

  • lon : A vector or AbstractRange containing the longitude points

  • lat : A vector or AbstractRange containing the latitude points

source


# GeoRegions.RegionGridMethod.
julia
RegionGrid(
     geo :: GeoRegion,
     lon :: Array{<:Real,2},
     lat :: Array{<:Real,2}
-) -> RegionGrid

Creates a RegionMask type based on the following arguments. This method is more suitable for non-rectilinear grids of longitude and latitude points, such as in the output of WRF or CESM.

Arguments

  • geo : A GeoRegion of interest

  • lon : An array containing the longitude points

  • lat : An array containing the latitude points

source



This page was generated using Literate.jl.

- +) -> RegionGrid

Creates a RegionMask type based on the following arguments. This method is more suitable for non-rectilinear grids of longitude and latitude points, such as in the output of WRF or CESM.

Arguments

  • geo : A GeoRegion of interest

  • lon : An array containing the longitude points

  • lat : An array containing the latitude points

source



This page was generated using Literate.jl.

+ \ No newline at end of file diff --git a/dev/regiongrids/intro.html b/dev/regiongrids/intro.html index fe0e0f62..8cb15d05 100644 --- a/dev/regiongrids/intro.html +++ b/dev/regiongrids/intro.html @@ -8,19 +8,19 @@ - + - - + +
Skip to content

What is a RegionGrid?

But how do we go from defining a GeoRegion, to extracting data for that GeoRegion? The answer is with the information in the RegionGrid types, which maps gridded lon-lat data to a given GeoRegion as follows:

  • Mapping gridded lon-lat data to a RectRegion gives a RectGrid structure

  • Mapping gridded lon-lat data to a PolyRegion gives a PolyGrid structure

  • Mapping non-rectilinear gridded lon-lat data to a RegionMask gives a RegionMask structure

However, the basic uses of RectGrid and PolyGrid are the same, and as such their differences are largely transparent to the user, except for one field found in PolyGrid, the mask, which will be elaborated upon later.

# GeoRegions.RegionGridType.
julia
RegionGrid

Abstract supertype for geographical region gridded information, with the following subtypes:

RectGrid{FT<:Real} <: RegionGrid
 PolyGrid{FT<:Real} <: RegionGrid
-RegionMask{FT<:Real} <: RegionGrid

Both RectGrid and PolyGrid types contain the following fields:

  • grid - A vector of Ints defining the gridpoint indices of the [N,S,E,W] points respectively

  • lon - A vector of Floats defining the latitude vector describing the region

  • lat - A vector of Floats defining the latitude vector describing the region

  • ilon - A vector of Ints defining indices of the parent longitude vector describing the region

  • ilat - A vector of Ints defining indices of the parent latitude vector describing the region

A PolyGrid type will also contain the following field:

  • mask - An array of 0s and 1s defining a non-rectilinear shape within a rectilinear grid where data is valid (only available in PolyGrid types)

A RegionMask type will contain the following fields:

  • lon - An array of longitude points

  • lat - An array of latitude points

  • mask - An array of NaNs and 1s defining the region within the original field in which data points are valid

source


So basically a RegionGrid contains information on the indices of the gridded data that are part of the GeoRegion, thus helping us extract the relevant data for a given GeoRegion.

- +RegionMask{FT<:Real} <: RegionGrid

Both RectGrid and PolyGrid types contain the following fields:

  • grid - A vector of Ints defining the gridpoint indices of the [N,S,E,W] points respectively

  • lon - A vector of Floats defining the latitude vector describing the region

  • lat - A vector of Floats defining the latitude vector describing the region

  • ilon - A vector of Ints defining indices of the parent longitude vector describing the region

  • ilat - A vector of Ints defining indices of the parent latitude vector describing the region

A PolyGrid type will also contain the following field:

  • mask - An array of 0s and 1s defining a non-rectilinear shape within a rectilinear grid where data is valid (only available in PolyGrid types)

A RegionMask type will contain the following fields:

  • lon - An array of longitude points

  • lat - An array of latitude points

  • mask - An array of NaNs and 1s defining the region within the original field in which data points are valid

source


So basically a RegionGrid contains information on the indices of the gridded data that are part of the GeoRegion, thus helping us extract the relevant data for a given GeoRegion.

+ \ No newline at end of file diff --git a/dev/using/custom.html b/dev/using/custom.html index 70fbca85..68ad3633 100644 --- a/dev/using/custom.html +++ b/dev/using/custom.html @@ -8,29 +8,29 @@ - + - - + + -
Skip to content

Adding GeoRegions from Templates

So you have a list of areas that you want to define, but you don't want to enter them in one by one. What to do?### Setup

julia
using GeoRegions

Template GeoRegion Files

Fear not! I have template files that one can use to define RectRegions and PolyRegions. Simply use the templateGeoRegion() to copy the templates into a directory of your choice.

Defining PolyRegions

When defining PolyRegions, the first and last set of (lon,lat) coordinates must be the same (i.e. a closed polygon must be defined)

julia
templateGeoRegion("your-file-path-here")
# GeoRegions.templateGeoRegionsFunction.
julia
templateGeoRegions(; path::AbstractString, overwrite::Bool=false)

Copies the template files for defining GeoRegions in textfiles, that can then be added as a batch using addGeoRegions()

Keyword Arguments

  • path : The folder to copy the files to

  • overwrite : If template files exist in this folder, overwrite?

source


Reading in GeoRegions from a custom file

We can then read in GeoRegions from your custom file using the function addGeoRegions(), which will then read all the GeoRegion information in the file and add it to the list of GeoRegions.

julia
addGeoRegions("recttest.txt")
+    
Skip to content

Adding GeoRegions from Templates

So you have a list of areas that you want to define, but you don't want to enter them in one by one. What to do?### Setup

julia
using GeoRegions

Template GeoRegion Files

Fear not! I have template files that one can use to define RectRegions and PolyRegions. Simply use the templateGeoRegion() to copy the templates into a directory of your choice.

Defining PolyRegions

When defining PolyRegions, the first and last set of (lon,lat) coordinates must be the same (i.e. a closed polygon must be defined)

julia
templateGeoRegion("your-file-path-here")
# GeoRegions.templateGeoRegionsFunction.
julia
templateGeoRegions(; path::AbstractString, overwrite::Bool=false)

Copies the template files for defining GeoRegions in textfiles, that can then be added as a batch using addGeoRegions()

Keyword Arguments

  • path : The folder to copy the files to

  • overwrite : If template files exist in this folder, overwrite?

source


Reading in GeoRegions from a custom file

We can then read in GeoRegions from your custom file using the function addGeoRegions(), which will then read all the GeoRegion information in the file and add it to the list of GeoRegions.

julia
addGeoRegions("recttest.txt")
 GeoRegion("TRP")
The Rectilinear Region TRP has the following properties:
     Region ID    (ID) : TRP
     Parent ID   (pID) : GLB
     Name       (name) : Tropical
     Bounds  (N,S,E,W) : [30.0, -30.0, 360.0, 0.0]
-        (is180,is360) : (false, true)
# GeoRegions.addGeoRegionsFunction.
julia
addGeoRegions(fname::AbstractString)

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • fname : name + path of the file containing GeoRegion information

source


Reset the list of GeoRegions

Should one wish to entirely reset the list of GeoRegions, one can call resetGeoRegions():

julia
resetGeoRegions()
[ Info: 2024-07-26T20:04:06.378 - GeoRegions.jl - Resetting the custom lists of GeoRegions back to the default
-┌ Warning: 2024-07-26T20:04:06.378 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/rectlist.txt ...
+        (is180,is360) : (false, true)
# GeoRegions.addGeoRegionsFunction.
julia
addGeoRegions(fname::AbstractString)

Extracts information of the GeoRegion with the ID geoID. If no GeoRegion with this ID exists, an error is thrown.

Arguments

  • fname : name + path of the file containing GeoRegion information

source


Reset the list of GeoRegions

Should one wish to entirely reset the list of GeoRegions, one can call resetGeoRegions():

julia
resetGeoRegions()
[ Info: 2024-07-26T21:00:01.350 - GeoRegions.jl - Resetting the custom lists of GeoRegions back to the default
+┌ Warning: 2024-07-26T21:00:01.350 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/rectlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/rectlist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473
-┌ Warning: 2024-07-26T20:04:06.383 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/polylist.txt ...
+┌ Warning: 2024-07-26T21:00:01.355 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/polylist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/polylist.txt ...
 └ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473
-┌ Warning: 2024-07-26T20:04:06.383 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/tiltlist.txt ...
-└ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473

And if one wishes to reset the predefined list of GeoRegions, we can do:

@example
resetGeoRegions(allfiles=true)
# GeoRegions.resetGeoRegionsFunction.
julia
resetGeoRegions(; allfiles::Bool = false)

Reset all the files containing GeoRegion information back to the default.

Arguments

  • allfiles : If true, reset the GeoRegions defined in Giorgi & Francisco [2000], AR6 Regions (Iturbide et al., 2020; ESSD) and Seneviratne et al. [2012] as well. If false, only reset the custom GeoRegions.

source



This page was generated using Literate.jl.

- +┌ Warning: 2024-07-26T21:00:01.355 - GeoRegions.jl - Overwriting /home/runner/.julia/files/GeoRegions/tiltlist.txt with original file in /home/runner/work/GeoRegions.jl/GeoRegions.jl/src/georegions/../../extra/tiltlist.txt ... +└ @ GeoRegions ~/work/GeoRegions.jl/GeoRegions.jl/src/georegions/read.jl:473

And if one wishes to reset the predefined list of GeoRegions, we can do:

@example
resetGeoRegions(allfiles=true)
# GeoRegions.resetGeoRegionsFunction.
julia
resetGeoRegions(; allfiles::Bool = false)

Reset all the files containing GeoRegion information back to the default.

Arguments

  • allfiles : If true, reset the GeoRegions defined in Giorgi & Francisco [2000], AR6 Regions (Iturbide et al., 2020; ESSD) and Seneviratne et al. [2012] as well. If false, only reset the custom GeoRegions.

source



This page was generated using Literate.jl.

+ \ No newline at end of file diff --git a/dev/using/extract.html b/dev/using/extract.html index 1124dc7f..b2202b51 100644 --- a/dev/using/extract.html +++ b/dev/using/extract.html @@ -8,11 +8,11 @@ - + - - + + @@ -34,53 +34,46 @@ (is180,is360) : (true, false)

We also define some sample test data in the global domain

julia
lon = collect(0:360); pop!(lon); nlon = length(lon)
 lat = collect(-90:90);           nlat = length(lat)
 odata = randn((nlon,nlat))
360×181 Matrix{Float64}:
- -1.03899      2.12475     1.19293   …  -1.65979    -0.722168  -0.707515
-  0.00370645  -0.994938    0.973959      0.475623   -0.118674  -0.201542
-  0.556168    -0.487757    1.45749       0.647749   -2.40056   -2.15137
- -0.263514     0.0551585   0.634463     -0.0545932  -1.31054    1.87409
-  2.3869      -1.03145     0.335841      0.152548    1.18578    0.926813
- -0.366396     0.849315   -0.929826  …   3.24367    -0.545804   0.141889
- -1.17566     -0.489808    1.1173       -0.620597    1.39905   -0.224235
- -0.462755    -0.147257    0.289648      0.382545   -1.41632   -2.74261
-  0.330501     1.12257     0.834024      1.20976    -0.284671  -0.0970607
-  2.07067      1.83426    -0.533805      0.286453    2.05144   -2.20175
-  ⋮                                  ⋱                          ⋮
-  0.69145      1.33243    -0.544644     -0.070642   -0.46344    0.253526
- -0.0107742    0.0704456  -0.432948      0.152018   -0.182906   0.903208
- -1.83523      0.106876   -1.12871      -0.44455    -0.209601  -0.313234
- -0.0693771   -1.59718     0.324565     -0.302458   -0.89819   -0.837747
- -0.0948295   -1.49624    -0.214021  …   0.0128698  -0.558482  -0.821857
-  0.376969    -1.46582    -1.32566       0.473649    1.40309    2.08159
-  0.904746    -1.23673     1.69211       0.527095    1.00818    0.544966
-  0.148756    -1.73603    -1.34797       0.843942    0.644318   0.400734
- -0.860136    -0.708603   -0.472305     -0.585108    0.590532  -0.173988

Our next step is to define the RegionGrid based on the longitude and latitude vectors and their intersection with the GeoRegion

julia
ggrd = RegionGrid(geo,lon,lat)
The Polygonal Grid has the following properties:
-    Grid Bounds       (grid) : [124, 107, 271, 239]
-    Longitude Indices (ilon) : [239, 240, 241, 242, 243, 244, 245, 246, 247, 248  …  262, 263, 264, 265, 266, 267, 268, 269, 270, 271]
-    Latitude Indices  (ilat) : [107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124]
-    Longitude Points   (lon) : [-122.0, -121.0, -120.0, -119.0, -118.0, -117.0, -116.0, -115.0, -114.0, -113.0  …  -99.0, -98.0, -97.0, -96.0, -95.0, -94.0, -93.0, -92.0, -91.0, -90.0]
-    Latitude Points    (lat) : [16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0]
-    Region Size (nlon * nlat) : 33 lon points x 18 lat points
-    Region Mask (sum(mask) / (nlon * nlat)) : 281 / 594

Then we extract the data

julia
ndata = extractGrid(odata,ggrd)
33×18 Matrix{Float64}:
- NaN  NaN  NaN  NaN  NaN  NaN        NaN          …  NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN           1.7925
- NaN  NaN  NaN  NaN  NaN  NaN        NaN               0.788204   -2.26048
- NaN  NaN  NaN  NaN  NaN  NaN        NaN               1.15544     0.123212
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.94052     0.446209
- NaN  NaN  NaN  NaN  NaN  NaN        NaN          …   -0.819841   -0.403538
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.265989    0.962716
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -1.06695    -2.01042
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.479697   -1.01279
- NaN  NaN  NaN  NaN  NaN  NaN        NaN              -0.877807   -0.61649
+ -0.314936   -0.539916   -0.182328   …   1.72965    0.47064    0.483422
+ -0.410684    1.88783    -0.718573       0.41423    0.202739  -0.794846
+  1.29619     0.785104    0.134473       0.361998   0.854558   1.06757
+ -0.3434      0.108879   -0.442978      -0.356206  -1.89911    0.174595
+ -1.39773     1.25396     0.198644      -0.442938   0.877872  -0.117866
+  0.843487   -0.461563    0.192526   …  -0.538295   1.28571    2.3662
+ -0.493901   -0.497255    0.947996       0.611534  -0.54076    0.0574435
+  1.21908     0.981648   -1.09131        0.585131  -0.601835   0.973778
+  1.87857     0.0147337  -0.327811       0.75983    0.39954   -0.265991
+  0.496358    0.569794   -0.0126277      1.55267   -2.40177   -0.444697
+  ⋮                                  ⋱                         ⋮
+  0.379589    0.388803    0.0372909     -0.82872    1.73311   -0.322156
+  0.852848    1.00827     0.724651      -0.992546  -1.58701   -0.523034
+ -1.40663    -1.26531     1.12458       -0.128553   1.32458    0.631967
+ -0.379738    0.499331   -0.817695       1.11156   -0.855692   0.683562
+ -1.21878    -1.1318      0.814681   …   0.216914   0.348482  -0.279212
+ -1.53045    -0.921946    0.467339       0.585649   0.755435  -0.636877
+  0.0878672   0.1258     -1.82319       -0.589237   0.501974  -0.263391
+  0.346705   -1.44827     0.827397       0.55881    0.581573  -0.357482
+ -0.453531    1.30737     0.887987       0.231998   0.267186   1.42424

Our next step is to define the RegionGrid based on the longitude and latitude vectors and their intersection with the GeoRegion

julia
ggrd = RegionGrid(geo,lon,lat)
PolyGrid{Float64}([124, 107, 271, 239], [-122.0, -121.0, -120.0, -119.0, -118.0, -117.0, -116.0, -115.0, -114.0, -113.0  …  -99.0, -98.0, -97.0, -96.0, -95.0, -94.0, -93.0, -92.0, -91.0, -90.0], [16.0, 17.0, 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0], [239, 240, 241, 242, 243, 244, 245, 246, 247, 248  …  262, 263, 264, 265, 266, 267, 268, 269, 270, 271], [107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], [NaN NaN … NaN NaN; NaN NaN … NaN 1.0; … ; NaN NaN … NaN NaN; NaN NaN … NaN NaN])

Then we extract the data

julia
ndata = extractGrid(odata,ggrd)
33×18 Matrix{Float64}:
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN         …  NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN           1.85333
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN             -0.302304    0.508684
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN             -0.569353    0.779084
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN             -0.697381   -0.0618885
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN         …   -0.781453    0.226094
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.388788    1.15227
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.482606    0.264581
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.783474    1.70172
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN              0.518502    2.43373
    ⋮                        ⋮                     ⋱              
- NaN  NaN  NaN  NaN  NaN   -1.29981    0.142396      NaN         NaN
- NaN  NaN  NaN  NaN  NaN    1.29389    0.0372503  …  NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN          1.13585       NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN         -1.28948       NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN          …  NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN
- NaN  NaN  NaN  NaN  NaN  NaN        NaN             NaN         NaN

Let us plot the old and new data

@example
fig = Figure()
+ NaN  NaN  NaN  NaN  NaN    0.216467   -0.816923     NaN         NaN
+ NaN  NaN  NaN  NaN  NaN   -1.03007    -0.278986  …  NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN          -0.201766     NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN          -0.912378     NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN         …  NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN
+ NaN  NaN  NaN  NaN  NaN  NaN         NaN            NaN         NaN

Let us plot the old and new data

@example
fig = Figure()
 _,_,slon,slat = coordGeoRegion(geo); slon = slon
 aspect = (maximum(slon)-minimum(slon))/(maximum(slat)-minimum(slat))
 
@@ -112,12 +105,12 @@
 fig

API

# GeoRegions.extractGridFunction.
julia
extractGrid(
     odata :: AbstractArray{<:Real,N},
     ggrd  :: RegionGrid
-) where N <: Int -> Array{<:Real,N}

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into another Array of dimension N, containing only within a sub GeoRegion we are interested in.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ggrd : A RegionGrid containing detailed information on what to extract

source


# GeoRegions.extractGrid!Function.
julia
extractGrid!(
+) where N <: Int -> Array{<:Real,N}

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into another Array of dimension N, containing only within a sub GeoRegion we are interested in.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ggrd : A RegionGrid containing detailed information on what to extract

source


# GeoRegions.extractGrid!Function.
julia
extractGrid!(
     odata :: AbstractArray{<:Real,N},
     ndata :: AbstractArray{<:Real,N},
     ggrd  :: RegionGrid
-) where N <: Int -> nothing

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into ndata, another Array of dimension N, containing only within a sub GeoRegion we are interested in.

This allows for iterable in-place modification to save memory space and reduce allocations if the dimensions are fixed.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ndata : An array of dimension N meant as a placeholder for the extracted data to minimize allocations

  • ggrd : A RegionGrid containing detailed information on what to extract

source



This page was generated using Literate.jl.

- +) where N <: Int -> nothing

Extracts data from odata, an Array of dimension N (where N ∈ 2,3,4) that contains data of a Parent GeoRegion, into ndata, another Array of dimension N, containing only within a sub GeoRegion we are interested in.

This allows for iterable in-place modification to save memory space and reduce allocations if the dimensions are fixed.

Warning

Please ensure that the 1st dimension is longitude and 2nd dimension is latitude before proceeding. The order of the 3rd and 4th dimensions (when used), however, is not significant.

Arguments

  • odata : An array of dimension N containing gridded data in the region we are interesting in extracting from

  • ndata : An array of dimension N meant as a placeholder for the extracted data to minimize allocations

  • ggrd : A RegionGrid containing detailed information on what to extract

source



This page was generated using Literate.jl.

+ \ No newline at end of file diff --git a/dev/using/isin.html b/dev/using/isin.html index 5ad990a7..5bc8ed9e 100644 --- a/dev/using/isin.html +++ b/dev/using/isin.html @@ -8,11 +8,11 @@ - + - - + + @@ -103,21 +103,21 @@ tlon :: Real = 0, tlat :: Real = 0, throw :: Bool = false -) -> Bool

Check if a geographical point point is within a GeoRegion defined by geo.

source


# Base.inMethod.
julia
in(
+) -> Bool

Check if a geographical point point is within a GeoRegion defined by geo.

source


# Base.inMethod.
julia
in(
     Child  :: GeoRegion,
     rectG  :: RectRegion;
     throw  :: Bool = false
-) -> Bool

Check if a child GeoRegion defined by Child is within a RectRegion rectG.

Arguments

  • Child : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • rectG : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • throw : If true, then if Child is not within polyG, an error is thrown and the program stops running

source


# Base.inMethod.
julia
in(
+) -> Bool

Check if a child GeoRegion defined by Child is within a RectRegion rectG.

Arguments

  • Child : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • rectG : A GeoRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • throw : If true, then if Child is not within polyG, an error is thrown and the program stops running

source


# Base.inMethod.
julia
in(
     cgeo  :: GeoRegion,
     geo   :: Union{TiltRegion,PolyRegion};
     n     :: Int = 100,
     throw :: Bool = false
-) -> Bool

Check if a child GeoRegion defined by cgeo is within a TiltRegion or PolyRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • geo : A TiltRegion or PolyRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • n : Number of points per polygon side to test

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running

source


@example
removeGeoRegion("BIG")
+) -> Bool

Check if a child GeoRegion defined by cgeo is within a TiltRegion or PolyRegion geo.

Arguments

  • cgeo : A GeoRegion that we postulate to be a "child", or a subset of the GeoRegion defined by polyG

  • geo : A TiltRegion or PolyRegion that we postulate to be a "parent", or containing the GeoRegion defined by Child

Keyword Arguments

  • n : Number of points per polygon side to test

  • throw : If true, then if cgeo is not within geo, an error is thrown and the program stops running

source


@example
removeGeoRegion("BIG")
 removeGeoRegion("TS1")
 removeGeoRegion("TS2")
 removeGeoRegion("TS3")
 removeGeoRegion("TS4")

This page was generated using Literate.jl.

- + \ No newline at end of file