[{"data":1,"prerenderedAt":847},["ShallowReactive",2],{"page-\u002Fformat\u002Fguides\u002Fvalidating":3,"navigation":471},{"collection":4,"page":5},"docs_en",{"id":6,"title":7,"body":8,"description":463,"extension":464,"meta":465,"navigation":130,"path":466,"rawbody":467,"seo":468,"stem":469,"__hash__":470},"docs_en\u002Fformat\u002F3.guides\u002F3.validating.md","Validating",{"type":9,"value":10,"toc":456},"minimark",[11,28,33,231,235,238,339,362,365,369,376,398,402,405,428,431,435,452],[12,13,14,15,19,20,27],"p",{},"A file is valid when it follows the schema: the required blocks are present, every field has the right type and every closed vocabulary has an allowed value. There is one definition of valid, ",[16,17,18],"code",{},"parseWell"," from ",[21,22,24],"a",{"href":23},"\u002Fcore",[16,25,26],{},"@welldot\u002Fcore",", and every route below uses it or the JSON Schema generated from it.",[29,30,32],"h2",{"id":31},"ways-to-validate","Ways to validate",[34,35,36,58,77,211],"tabs",{},[37,38,41,51],"tabs-item",{"icon":39,"label":40},"i-lucide-globe","Browser",[12,42,43,44,50],{},"Open ",[21,45,49],{"href":46,"rel":47},"https:\u002F\u002Fwelldot.org",[48],"nofollow","welldot.org"," and drop the file on the editor. An invalid file is reported with the path of each problem.",[12,52,53,54,57],{},"On this site, a ",[16,55,56],{},"::well-preview"," block validates its content and lists the errors instead of drawing.",[37,59,62],{"icon":60,"label":61},"i-lucide-sparkles","AI assistant",[12,63,64,65,69,70,73,74,76],{},"Connect your assistant to the ",[21,66,68],{"href":67},"\u002Fai\u002Fmcp","docs MCP server"," and ask it to validate the file. The ",[16,71,72],{},"validate_well"," tool runs ",[16,75,18],{}," and returns errors with their paths, plus advisory warnings.",[37,78,81,203],{"icon":79,"label":80},"i-lucide-code","TypeScript",[82,83,88],"pre",{"className":84,"code":85,"language":86,"meta":87,"style":87},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { parseWell } from '@welldot\u002Fcore';\n\ntry {\n  const well = parseWell(text);\n} catch (error) {\n  \u002F\u002F Schema problems: a ZodError whose issues each have a path.\n  \u002F\u002F Invalid JSON or an unsupported version: a plain Error (SyntaxError for JSON).\n}\n","ts","",[16,89,90,125,132,141,169,184,191,197],{"__ignoreMap":87},[91,92,95,99,103,107,110,113,116,119,122],"span",{"class":93,"line":94},"line",1,[91,96,98],{"class":97},"s7zQu","import",[91,100,102],{"class":101},"sMK4o"," {",[91,104,106],{"class":105},"sTEyZ"," parseWell",[91,108,109],{"class":101}," }",[91,111,112],{"class":97}," from",[91,114,115],{"class":101}," '",[91,117,26],{"class":118},"sfazB",[91,120,121],{"class":101},"'",[91,123,124],{"class":101},";\n",[91,126,128],{"class":93,"line":127},2,[91,129,131],{"emptyLinePlaceholder":130},true,"\n",[91,133,135,138],{"class":93,"line":134},3,[91,136,137],{"class":97},"try",[91,139,140],{"class":101}," {\n",[91,142,144,148,151,154,157,161,164,167],{"class":93,"line":143},4,[91,145,147],{"class":146},"spNyl","  const",[91,149,150],{"class":105}," well",[91,152,153],{"class":101}," =",[91,155,106],{"class":156},"s2Zo4",[91,158,160],{"class":159},"swJcz","(",[91,162,163],{"class":105},"text",[91,165,166],{"class":159},")",[91,168,124],{"class":101},[91,170,172,175,178,181],{"class":93,"line":171},5,[91,173,174],{"class":101},"}",[91,176,177],{"class":97}," catch",[91,179,180],{"class":105}," (error) ",[91,182,183],{"class":101},"{\n",[91,185,187],{"class":93,"line":186},6,[91,188,190],{"class":189},"sHwdD","  \u002F\u002F Schema problems: a ZodError whose issues each have a path.\n",[91,192,194],{"class":93,"line":193},7,[91,195,196],{"class":189},"  \u002F\u002F Invalid JSON or an unsupported version: a plain Error (SyntaxError for JSON).\n",[91,198,200],{"class":93,"line":199},8,[91,201,202],{"class":101},"}\n",[12,204,205,206,210],{},"See ",[21,207,209],{"href":208},"\u002Fcore\u002Fguides\u002Fparsing-and-validating","Parsing and validating",".",[37,212,215,218,225],{"icon":213,"label":214},"i-lucide-braces","Other languages",[12,216,217],{},"Validate against the JSON Schema with any draft 2020-12 validator:",[82,219,223],{"className":220,"code":222,"language":163,"meta":87},[221],"language-text","https:\u002F\u002Fwelldot.org\u002Fschema\u002Fv2\u002Fwell.schema.json\n",[16,224,222],{"__ignoreMap":87},[12,226,205,227,210],{},[21,228,230],{"href":229},"\u002Fformat\u002Freference\u002Fjson-schema","JSON Schema",[29,232,234],{"id":233},"reading-the-errors","Reading the errors",[12,236,237],{},"Each error has a path into the document and a message. Array positions count from zero.",[239,240,241,254],"table",{},[242,243,244],"thead",{},[245,246,247,251],"tr",{},[248,249,250],"th",{},"Error",[248,252,253],{},"Meaning",[255,256,257,271,285,298,312,325],"tbody",{},[245,258,259,265],{},[260,261,262],"td",{},[16,263,264],{},"well_screen[0].screen_slot: Required",[260,266,267,268,210],{},"The first screen has no ",[16,269,270],{},"screen_slot",[245,272,273,278],{},[260,274,275],{},[16,276,277],{},"bore_hole[1].to: Expected number, received string",[260,279,280,281,284],{},"A depth was written in quotes, or with its unit (",[16,282,283],{},"\"60 m\"",").",[245,286,287,292],{},[260,288,289],{},[16,290,291],{},"hole_fill[2].type: Invalid enum value. Expected 'gravel_pack' | 'seal', received 'gravel'",[260,293,294,297],{},[16,295,296],{},"hole_fill"," types are a closed list.",[245,299,300,305],{},[260,301,302],{},[16,303,304],{},"fractures: Required",[260,306,307,308,311],{},"A required list is missing; write ",[16,309,310],{},"[]"," if there are none.",[245,313,314,319],{},[260,315,316],{},[16,317,318],{},"construction_date: construction_date must be YYYY-MM-DD",[260,320,321,322,210],{},"A date in another form, such as ",[16,323,324],{},"20\u002F05\u002F2019",[245,326,327,336],{},[260,328,329,332,333,166],{},[16,330,331],{},"version: Unsupported .well format version: \"3.0\""," (code ",[16,334,335],{},"unsupported_version",[260,337,338],{},"The file declares a version this reader does not know.",[12,340,341,342,344,345,347,348,351,352,355,356,359,360,210],{},"The last row is not a schema error. ",[16,343,18],{}," throws a plain ",[16,346,250],{}," with the message ",[16,349,350],{},"Unsupported .well format version: \"3.0\""," (or ",[16,353,354],{},"Malformed .well format version: …",") before the schema runs. The MCP validator and this site report it with the path ",[16,357,358],{},"version"," and the code ",[16,361,335],{},[12,363,364],{},"Fix the first errors first: one missing bracket or a wrong type high in the file can cause several messages below it.",[29,366,368],{"id":367},"errors-and-warnings","Errors and warnings",[12,370,371,375],{},[372,373,374],"strong",{},"Errors"," make a file invalid. They come from the schema.",[12,377,378,381,382,386,387,391,392,210],{},[372,379,380],{},"Warnings"," do not. They point at data that is valid but probably wrong, or that a calculation cannot use: a permit whose validity ends before it starts, a meter reading that goes backwards, a pump intake below the bottom of the well, a dangling reference. The spec marks these \"warnings, never rejection\"; see for example ",[21,383,385],{"href":384},"\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas#validation-warnings-never-rejection-1","permit validation"," and ",[21,388,390],{"href":389},"\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference#dangling-references","dangling references",". The MCP server returns them separately, computed by ",[21,393,395],{"href":394},"\u002Futils",[16,396,397],{},"@welldot\u002Futils",[29,399,401],{"id":400},"what-validation-does-not-check","What validation does not check",[12,403,404],{},"Validation checks shape, not truth. It does not check that:",[406,407,408,412,422,425],"ul",{},[409,410,411],"li",{},"a casing fits inside its hole, or that intervals do not overlap;",[409,413,414,417,418,421],{},[16,415,416],{},"from"," is smaller than ",[16,419,420],{},"to",";",[409,423,424],{},"the numbers match the source report;",[409,426,427],{},"the texture code fits the description.",[12,429,430],{},"Some of these are good candidates for warnings in your own tools. The spec decides which rules exist; a validator never adds its own, so that every tool accepts the same files.",[29,432,434],{"id":433},"the-json-schema-and-the-library","The JSON Schema and the library",[12,436,437,438,440,441,443,444,446,447,451],{},"The JSON Schema is generated from the same Zod validators that ",[16,439,18],{}," uses, so they accept the same documents. A few rules can only be expressed in code, and ",[16,442,18],{}," also upgrades v1 files before checking them. When in doubt, ",[16,445,18],{}," is the reference. See ",[21,448,450],{"href":449},"\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability#schema-validation","Schema validation"," in the spec.",[453,454,455],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":87,"searchDepth":127,"depth":127,"links":457},[458,459,460,461,462],{"id":31,"depth":127,"text":32},{"id":233,"depth":127,"text":234},{"id":367,"depth":127,"text":368},{"id":400,"depth":127,"text":401},{"id":433,"depth":127,"text":434},"Check that a .well file is valid, in the browser, with an AI assistant, from TypeScript or with the JSON Schema in any language, and read the error messages.","md",{},"\u002Fformat\u002Fguides\u002Fvalidating","---\ntitle: Validating\ndescription: Check that a .well file is valid, in the browser, with an AI assistant, from TypeScript or with the JSON Schema in any language, and read the error messages.\n---\n\nA file is valid when it follows the schema: the required blocks are present, every field has the right type and every closed vocabulary has an allowed value. There is one definition of valid, `parseWell` from [`@welldot\u002Fcore`](\u002Fcore), and every route below uses it or the JSON Schema generated from it.\n\n## Ways to validate\n\n::tabs\n\n:::tabs-item{label=\"Browser\" icon=\"i-lucide-globe\"}\nOpen [welldot.org](https:\u002F\u002Fwelldot.org) and drop the file on the editor. An invalid file is reported with the path of each problem.\n\nOn this site, a `::well-preview` block validates its content and lists the errors instead of drawing.\n:::\n\n:::tabs-item{label=\"AI assistant\" icon=\"i-lucide-sparkles\"}\nConnect your assistant to the [docs MCP server](\u002Fai\u002Fmcp) and ask it to validate the file. The `validate_well` tool runs `parseWell` and returns errors with their paths, plus advisory warnings.\n:::\n\n:::tabs-item{label=\"TypeScript\" icon=\"i-lucide-code\"}\n\n```ts\nimport { parseWell } from '@welldot\u002Fcore';\n\ntry {\n  const well = parseWell(text);\n} catch (error) {\n  \u002F\u002F Schema problems: a ZodError whose issues each have a path.\n  \u002F\u002F Invalid JSON or an unsupported version: a plain Error (SyntaxError for JSON).\n}\n```\n\nSee [Parsing and validating](\u002Fcore\u002Fguides\u002Fparsing-and-validating).\n:::\n\n:::tabs-item{label=\"Other languages\" icon=\"i-lucide-braces\"}\nValidate against the JSON Schema with any draft 2020-12 validator:\n\n```text\nhttps:\u002F\u002Fwelldot.org\u002Fschema\u002Fv2\u002Fwell.schema.json\n```\n\nSee [JSON Schema](\u002Fformat\u002Freference\u002Fjson-schema).\n:::\n\n::\n\n## Reading the errors\n\nEach error has a path into the document and a message. Array positions count from zero.\n\n| Error                                                                                        | Meaning                                                     |\n| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |\n| `well_screen[0].screen_slot: Required`                                                       | The first screen has no `screen_slot`.                      |\n| `bore_hole[1].to: Expected number, received string`                                          | A depth was written in quotes, or with its unit (`\"60 m\"`). |\n| `hole_fill[2].type: Invalid enum value. Expected 'gravel_pack' \\| 'seal', received 'gravel'` | `hole_fill` types are a closed list.                        |\n| `fractures: Required`                                                                        | A required list is missing; write `[]` if there are none.   |\n| `construction_date: construction_date must be YYYY-MM-DD`                                    | A date in another form, such as `20\u002F05\u002F2019`.               |\n| `version: Unsupported .well format version: \"3.0\"` (code `unsupported_version`)              | The file declares a version this reader does not know.      |\n\nThe last row is not a schema error. `parseWell` throws a plain `Error` with the message `Unsupported .well format version: \"3.0\"` (or `Malformed .well format version: …`) before the schema runs. The MCP validator and this site report it with the path `version` and the code `unsupported_version`.\n\nFix the first errors first: one missing bracket or a wrong type high in the file can cause several messages below it.\n\n## Errors and warnings\n\n**Errors** make a file invalid. They come from the schema.\n\n**Warnings** do not. They point at data that is valid but probably wrong, or that a calculation cannot use: a permit whose validity ends before it starts, a meter reading that goes backwards, a pump intake below the bottom of the well, a dangling reference. The spec marks these \"warnings, never rejection\"; see for example [permit validation](\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas#validation-warnings-never-rejection-1) and [dangling references](\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference#dangling-references). The MCP server returns them separately, computed by [`@welldot\u002Futils`](\u002Futils).\n\n## What validation does not check\n\nValidation checks shape, not truth. It does not check that:\n\n- a casing fits inside its hole, or that intervals do not overlap;\n- `from` is smaller than `to`;\n- the numbers match the source report;\n- the texture code fits the description.\n\nSome of these are good candidates for warnings in your own tools. The spec decides which rules exist; a validator never adds its own, so that every tool accepts the same files.\n\n## The JSON Schema and the library\n\nThe JSON Schema is generated from the same Zod validators that `parseWell` uses, so they accept the same documents. A few rules can only be expressed in code, and `parseWell` also upgrades v1 files before checking them. When in doubt, `parseWell` is the reference. See [Schema validation](\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability#schema-validation) in the spec.\n",{"title":7,"description":463},"format\u002F3.guides\u002F3.validating","Dn3RPU0gBX_pDqwa-6ValzHYH4Iuid147tZvVjBavUE",{"docs_en":472,"spec":780,"changelogs":830},[473,492,511,564,669,723],{"title":474,"path":475,"stem":476,"children":477},"Ai","\u002Fai","ai",[478,481,485,489],{"title":479,"path":475,"stem":480},"Introduction","ai\u002Findex",{"title":482,"path":483,"stem":484},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":486,"path":487,"stem":488},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":490,"path":67,"stem":491},"MCP server","ai\u002Fmcp",{"title":493,"path":494,"stem":495,"children":496},"Contributing","\u002Fcontributing","contributing",[497,499,503,507],{"title":479,"path":494,"stem":498},"contributing\u002Findex",{"title":500,"path":501,"stem":502},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":504,"path":505,"stem":506},"Update rules","\u002Fcontributing\u002Fupdate-rules","contributing\u002F2.update-rules",{"title":508,"path":509,"stem":510},"Content components","\u002Fcontributing\u002Fcomponents","contributing\u002Fcomponents",{"title":512,"path":23,"stem":513,"children":514},"Core","core",[515,517,531,558],{"title":479,"path":23,"stem":516},"core\u002Findex",{"title":518,"path":519,"stem":520,"children":521,"page":530},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[522,526],{"title":523,"path":524,"stem":525},"Installation","\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":527,"path":528,"stem":529},"First use","\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":532,"path":533,"stem":534,"children":535,"page":530},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[536,538,542,546,550,554],{"title":209,"path":208,"stem":537},"core\u002F2.guides\u002F1.parsing-and-validating",{"title":539,"path":540,"stem":541},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":543,"path":544,"stem":545},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":547,"path":548,"stem":549},"Vocabularies and textures","\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","core\u002F2.guides\u002F4.vocabularies-and-textures",{"title":551,"path":552,"stem":553},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":555,"path":556,"stem":557},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":559,"path":560,"stem":561,"children":562},"API reference","\u002Fcore\u002Fapi","core\u002Fapi\u002Findex",[563],{"title":559,"path":560,"stem":561},{"title":565,"path":566,"stem":567,"children":568},"Format","\u002Fformat","format",[569,571,591,620,641,659,665],{"title":479,"path":566,"stem":570},"format\u002Findex",{"title":518,"path":572,"stem":573,"children":574,"page":530},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[575,579,583,587],{"title":576,"path":577,"stem":578},"What is .well?","\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","format\u002F1.getting-started\u002F1.what-is-well",{"title":580,"path":581,"stem":582},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":584,"path":585,"stem":586},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":588,"path":589,"stem":590},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":592,"path":593,"stem":594,"children":595,"page":530},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[596,600,604,608,612,616],{"title":597,"path":598,"stem":599},"Depths and intervals","\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":601,"path":602,"stem":603},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":605,"path":606,"stem":607},"Vocabularies","\u002Fformat\u002Fconcepts\u002Fvocabularies","format\u002F2.concepts\u002F3.vocabularies",{"title":609,"path":610,"stem":611},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":613,"path":614,"stem":615},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":617,"path":618,"stem":619},"Extensibility","\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":532,"path":621,"stem":622,"children":623,"page":530},"\u002Fformat\u002Fguides","format\u002F3.guides",[624,628,632,633,637],{"title":625,"path":626,"stem":627},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":629,"path":630,"stem":631},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":7,"path":466,"stem":469},{"title":634,"path":635,"stem":636},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":638,"path":639,"stem":640},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":642,"path":643,"stem":644,"children":645},"Overview","\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[646,647,649,653],{"title":642,"path":643,"stem":644},{"title":230,"path":229,"stem":648},"format\u002F4.reference\u002F1.json-schema",{"title":650,"path":651,"stem":652},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":654,"path":655,"stem":656,"children":657},"Object reference","\u002Fformat\u002Freference\u002Fobjects","format\u002Freference\u002Fobjects\u002Findex",[658],{"title":654,"path":655,"stem":656},{"title":660,"path":661,"stem":662,"children":663},"About the spec","\u002Fformat\u002Fspec","format\u002F5.spec\u002Findex",[664],{"title":660,"path":661,"stem":662},{"title":666,"path":667,"stem":668},"Changelog","\u002Fformat\u002Fchangelog","format\u002F6.changelog",{"title":670,"path":671,"stem":672,"children":673},"Render","\u002Frender","render",[674,676,686,718],{"title":479,"path":671,"stem":675},"render\u002Findex",{"title":518,"path":677,"stem":678,"children":679,"page":530},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[680,683],{"title":523,"path":681,"stem":682},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":527,"path":684,"stem":685},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":532,"path":687,"stem":688,"children":689,"page":530},"\u002Frender\u002Fguides","render\u002F2.guides",[690,694,698,702,706,710,714],{"title":691,"path":692,"stem":693},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":695,"path":696,"stem":697},"Layers and labels","\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":699,"path":700,"stem":701},"Theming","\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":703,"path":704,"stem":705},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":707,"path":708,"stem":709},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":711,"path":712,"stem":713},"Zoom, pan and highlights","\u002Frender\u002Fguides\u002Finteraction","render\u002F2.guides\u002F6.interaction",{"title":715,"path":716,"stem":717},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":559,"path":719,"stem":720,"children":721},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[722],{"title":559,"path":719,"stem":720},{"title":724,"path":394,"stem":725,"children":726},"Utils","utils",[727,729,739,775],{"title":479,"path":394,"stem":728},"utils\u002Findex",{"title":518,"path":730,"stem":731,"children":732,"page":530},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[733,736],{"title":523,"path":734,"stem":735},"\u002Futils\u002Fgetting-started\u002Finstallation","utils\u002F1.getting-started\u002F1.installation",{"title":527,"path":737,"stem":738},"\u002Futils\u002Fgetting-started\u002Ffirst-use","utils\u002F1.getting-started\u002F2.first-use",{"title":532,"path":740,"stem":741,"children":742,"page":530},"\u002Futils\u002Fguides","utils\u002F2.guides",[743,747,751,755,759,763,767,771],{"title":744,"path":745,"stem":746},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":748,"path":749,"stem":750},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":752,"path":753,"stem":754},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":756,"path":757,"stem":758},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":760,"path":761,"stem":762},"Water quality","\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":764,"path":765,"stem":766},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":768,"path":769,"stem":770},"SIAGAS import","\u002Futils\u002Fguides\u002Fsiagas-import","utils\u002F2.guides\u002F7.siagas-import",{"title":772,"path":773,"stem":774},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":559,"path":776,"stem":777,"children":778},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[779],{"title":559,"path":776,"stem":777},[781],{"title":565,"path":566,"stem":567,"children":782,"page":530},[783],{"title":784,"path":661,"stem":785,"children":786,"page":530},"Spec","format\u002Fspec",[787,796,805],{"title":788,"path":789,"stem":790,"children":791,"page":530},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[792],{"title":793,"path":794,"stem":795},"FGDC Texture Patterns Reference","\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":797,"path":798,"stem":799,"children":800,"page":530},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[801],{"title":802,"path":803,"stem":804},".well File Format Specification","\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":806,"path":807,"stem":808,"children":809,"page":530},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[810,814,818,822,826],{"title":811,"path":812,"stem":813},".well File Format Specification — Version 2.4: Format Reference","\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","format\u002Fspec\u002Fv2\u002Fformat-reference",{"title":815,"path":816,"stem":817},".well File Format Specification — Version 2.4: Interoperability","\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":819,"path":820,"stem":821},".well File Format Specification — Version 2.4: Object Schemas","\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":823,"path":824,"stem":825},".well File Format Specification — Version 2.4: Overview","\u002Fformat\u002Fspec\u002Fv2\u002Foverview","format\u002Fspec\u002Fv2\u002Foverview",{"title":827,"path":828,"stem":829},".well File Format Specification — Version 2.4: Water Quality","\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[831,836,842],{"title":512,"path":23,"stem":513,"children":832,"page":530},[833],{"title":26,"path":834,"stem":835},"\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":670,"path":671,"stem":672,"children":837,"page":530},[838],{"title":839,"path":840,"stem":841},"@welldot\u002Frender","\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":724,"path":394,"stem":725,"children":843,"page":530},[844],{"title":397,"path":845,"stem":846},"\u002Futils\u002Fchangelog","utils\u002FCHANGELOG",1793050495999]