[{"data":1,"prerenderedAt":622},["ShallowReactive",2],{"page-\u002Fformat\u002Fspec":3,"navigation":256},{"collection":4,"page":5},"docs_en",{"id":6,"title":7,"body":8,"description":246,"extension":247,"meta":248,"navigation":249,"path":251,"rawbody":252,"seo":253,"stem":254,"__hash__":255},"docs_en\u002Fformat\u002F5.spec\u002Findex.md","The specification",{"type":9,"value":10,"toc":238},"minimark",[11,31,39,44,149,153,161,174,178,212,216,235],[12,13,14,15,19,20,30],"p",{},"The specification is the standard that defines the ",[16,17,18],"code",{},".well"," format. It is written as plain Markdown in the ",[21,22,26,29],"a",{"href":23,"rel":24},"https:\u002F\u002Fgithub.com\u002Fwelldothq\u002Fwelldot\u002Ftree\u002Fmain\u002Fspec",[25],"nofollow",[16,27,28],{},"spec\u002F"," folder"," of the repository and rendered on this site as it is, with heading anchors and links adapted for the web. Everything else on this site explains it; when a guide and the spec seem to disagree, the spec is right.",[12,32,33,34,38],{},"The current revision is ",[35,36,37],"strong",{},"2.4",".",[40,41,43],"h2",{"id":42},"the-documents","The documents",[45,46,47,60],"table",{},[48,49,50],"thead",{},[51,52,53,57],"tr",{},[54,55,56],"th",{},"Document",[54,58,59],{},"What it covers",[61,62,63,75,94,105,116,127,138],"tbody",{},[51,64,65,72],{},[66,67,68],"td",{},[21,69,71],{"href":70},"\u002Fformat\u002Fspec\u002Fv2\u002Foverview","Overview",[66,73,74],{},"The changes in each revision, the purpose of the format, its design principles and its known limitations.",[51,76,77,83],{},[66,78,79],{},[21,80,82],{"href":81},"\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","Format reference",[66,84,85,86,89,90,93],{},"Top-level fields, versioning and deprecation, datetimes, recommended vocabularies, ",[16,87,88],{},"well_id",", ",[16,91,92],{},"location",", units, profiles, extensibility, cross-references and precision.",[51,95,96,102],{},[66,97,98],{},[21,99,101],{"href":100},"\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","Object schemas",[66,103,104],{},"Every object: construction, geology, hydrodynamic events, aquifer analysis, history logs, pumps, permits, meters, production, operating regime, and a complete example.",[51,106,107,113],{},[66,108,109],{},[21,110,112],{"href":111},"\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","Water quality",[66,114,115],{},"Water samples and results, their units, the parameter vocabulary and regulatory profiles.",[51,117,118,124],{},[66,119,120],{},[21,121,123],{"href":122},"\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","Interoperability",[66,125,126],{},"The reserved JSON-LD context, the mapping to GroundWater ML 2 and JSON Schema validation.",[51,128,129,135],{},[66,130,131],{},[21,132,134],{"href":133},"\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","FGDC textures",[66,136,137],{},"The 282 lithology pattern codes.",[51,139,140,146],{},[66,141,142],{},[21,143,145],{"href":144},"\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","v1 (archived)",[66,147,148],{},"The first version, kept for reference. v2 readers upgrade v1 files on read.",[40,150,152],{"id":151},"how-to-read-it","How to read it",[12,154,155,156,160],{},"The spec uses the keywords MUST, SHOULD and MAY in their usual standards sense: MUST is a requirement, SHOULD a strong recommendation, MAY an option. Sections marked ",[157,158,159],"em",{},"(since v2.x)"," were added in that revision.",[12,162,163,164,168,169,173],{},"If you are new to the format, start with ",[21,165,167],{"href":166},"\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","What is .well?"," and the ",[21,170,172],{"href":171},"\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","concepts",", then come back to the spec for the exact rules.",[40,175,177],{"id":176},"how-it-relates-to-the-code","How it relates to the code",[179,180,181,191,205],"ul",{},[182,183,184,190],"li",{},[21,185,187],{"href":186},"\u002Fcore",[16,188,189],{},"@welldot\u002Fcore"," implements the spec. Its tests compare the vocabulary tables in the spec with the published constants and parse the spec's complete example, so the two cannot drift apart silently.",[182,192,193,194,198,199,201,202,38],{},"The ",[21,195,197],{"href":196},"\u002Fformat\u002Freference\u002Fjson-schema","JSON Schema"," is generated from ",[16,200,189],{}," and published at ",[16,203,204],{},"https:\u002F\u002Fwelldot.org\u002Fschema\u002Fv2\u002Fwell.schema.json",[182,206,193,207,211],{},[21,208,210],{"href":209},"\u002Fformat\u002Freference\u002Fobjects","object reference"," is generated from the schema and links back to the spec sections.",[40,213,215],{"id":214},"how-it-changes","How it changes",[12,217,218,219,224,225,229,230,234],{},"Changes to the format start as an issue on ",[21,220,223],{"href":221,"rel":222},"https:\u002F\u002Fgithub.com\u002Fwelldothq\u002Fwelldot\u002Fissues",[25],"GitHub",". The spec text is edited first, then the implementation and these docs, in the same change (",[21,226,228],{"href":227},"\u002Fcontributing\u002Fupdate-rules","update rules","). Each revision adds a \"Changes in v2.x\" section to the overview; the ",[21,231,233],{"href":232},"\u002Fformat\u002Fchangelog","changelog"," links to them.",[12,236,237],{},"The spec files are licensed under Apache 2.0, like the rest of the project.",{"title":239,"searchDepth":240,"depth":240,"links":241},"",2,[242,243,244,245],{"id":42,"depth":240,"text":43},{"id":151,"depth":240,"text":152},{"id":176,"depth":240,"text":177},{"id":214,"depth":240,"text":215},"The normative .well specification, how it is organized, how it relates to this site and to the packages, and how it changes.","md",{},{"title":250},"About the spec","\u002Fformat\u002Fspec","---\ntitle: The specification\ndescription: The normative .well specification, how it is organized, how it relates to this site and to the packages, and how it changes.\nnavigation:\n  title: About the spec\n---\n\nThe specification is the standard that defines the `.well` format. It is written as plain Markdown in the [`spec\u002F` folder](https:\u002F\u002Fgithub.com\u002Fwelldothq\u002Fwelldot\u002Ftree\u002Fmain\u002Fspec) of the repository and rendered on this site as it is, with heading anchors and links adapted for the web. Everything else on this site explains it; when a guide and the spec seem to disagree, the spec is right.\n\nThe current revision is **2.4**.\n\n## The documents\n\n| Document                                              | What it covers                                                                                                                                                            |\n| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [Overview](\u002Fformat\u002Fspec\u002Fv2\u002Foverview)                  | The changes in each revision, the purpose of the format, its design principles and its known limitations.                                                                 |\n| [Format reference](\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference)  | Top-level fields, versioning and deprecation, datetimes, recommended vocabularies, `well_id`, `location`, units, profiles, extensibility, cross-references and precision. |\n| [Object schemas](\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas)      | Every object: construction, geology, hydrodynamic events, aquifer analysis, history logs, pumps, permits, meters, production, operating regime, and a complete example.   |\n| [Water quality](\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality)        | Water samples and results, their units, the parameter vocabulary and regulatory profiles.                                                                                 |\n| [Interoperability](\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability)  | The reserved JSON-LD context, the mapping to GroundWater ML 2 and JSON Schema validation.                                                                                 |\n| [FGDC textures](\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures) | The 282 lithology pattern codes.                                                                                                                                          |\n| [v1 (archived)](\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format)          | The first version, kept for reference. v2 readers upgrade v1 files on read.                                                                                               |\n\n## How to read it\n\nThe spec uses the keywords MUST, SHOULD and MAY in their usual standards sense: MUST is a requirement, SHOULD a strong recommendation, MAY an option. Sections marked _(since v2.x)_ were added in that revision.\n\nIf you are new to the format, start with [What is .well?](\u002Fformat\u002Fgetting-started\u002Fwhat-is-well) and the [concepts](\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals), then come back to the spec for the exact rules.\n\n## How it relates to the code\n\n- [`@welldot\u002Fcore`](\u002Fcore) implements the spec. Its tests compare the vocabulary tables in the spec with the published constants and parse the spec's complete example, so the two cannot drift apart silently.\n- The [JSON Schema](\u002Fformat\u002Freference\u002Fjson-schema) is generated from `@welldot\u002Fcore` and published at `https:\u002F\u002Fwelldot.org\u002Fschema\u002Fv2\u002Fwell.schema.json`.\n- The [object reference](\u002Fformat\u002Freference\u002Fobjects) is generated from the schema and links back to the spec sections.\n\n## How it changes\n\nChanges to the format start as an issue on [GitHub](https:\u002F\u002Fgithub.com\u002Fwelldothq\u002Fwelldot\u002Fissues). The spec text is edited first, then the implementation and these docs, in the same change ([update rules](\u002Fcontributing\u002Fupdate-rules)). Each revision adds a \"Changes in v2.x\" section to the overview; the [changelog](\u002Fformat\u002Fchangelog) links to them.\n\nThe spec files are licensed under Apache 2.0, like the rest of the project.\n",{"title":7,"description":246},"format\u002F5.spec\u002Findex","KNnD0rjHCmsaLR6Ja7Nk-NQiy0Oo4ojX93ja5BA_O-4",{"docs_en":257,"spec":561,"changelogs":604},[258,278,296,351,450,504],{"title":259,"path":260,"stem":261,"children":262},"Ai","\u002Fai","ai",[263,266,270,274],{"title":264,"path":260,"stem":265},"Introduction","ai\u002Findex",{"title":267,"path":268,"stem":269},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":271,"path":272,"stem":273},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":275,"path":276,"stem":277},"MCP server","\u002Fai\u002Fmcp","ai\u002Fmcp",{"title":279,"path":280,"stem":281,"children":282},"Contributing","\u002Fcontributing","contributing",[283,285,289,292],{"title":264,"path":280,"stem":284},"contributing\u002Findex",{"title":286,"path":287,"stem":288},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":290,"path":227,"stem":291},"Update rules","contributing\u002F2.update-rules",{"title":293,"path":294,"stem":295},"Content components","\u002Fcontributing\u002Fcomponents","contributing\u002Fcomponents",{"title":297,"path":186,"stem":298,"children":299},"Core","core",[300,302,316,345],{"title":264,"path":186,"stem":301},"core\u002Findex",{"title":303,"path":304,"stem":305,"children":306,"page":315},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[307,311],{"title":308,"path":309,"stem":310},"Installation","\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":312,"path":313,"stem":314},"First use","\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":317,"path":318,"stem":319,"children":320,"page":315},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[321,325,329,333,337,341],{"title":322,"path":323,"stem":324},"Parsing and validating","\u002Fcore\u002Fguides\u002Fparsing-and-validating","core\u002F2.guides\u002F1.parsing-and-validating",{"title":326,"path":327,"stem":328},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":330,"path":331,"stem":332},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":334,"path":335,"stem":336},"Vocabularies and textures","\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","core\u002F2.guides\u002F4.vocabularies-and-textures",{"title":338,"path":339,"stem":340},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":342,"path":343,"stem":344},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":346,"path":347,"stem":348,"children":349},"API reference","\u002Fcore\u002Fapi","core\u002Fapi\u002Findex",[350],{"title":346,"path":347,"stem":348},{"title":352,"path":353,"stem":354,"children":355},"Format","\u002Fformat","format",[356,358,376,404,428,444,447],{"title":264,"path":353,"stem":357},"format\u002Findex",{"title":303,"path":359,"stem":360,"children":361,"page":315},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[362,364,368,372],{"title":167,"path":166,"stem":363},"format\u002F1.getting-started\u002F1.what-is-well",{"title":365,"path":366,"stem":367},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":369,"path":370,"stem":371},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":373,"path":374,"stem":375},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":377,"path":378,"stem":379,"children":380,"page":315},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[381,384,388,392,396,400],{"title":382,"path":171,"stem":383},"Depths and intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":385,"path":386,"stem":387},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":389,"path":390,"stem":391},"Vocabularies","\u002Fformat\u002Fconcepts\u002Fvocabularies","format\u002F2.concepts\u002F3.vocabularies",{"title":393,"path":394,"stem":395},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":397,"path":398,"stem":399},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":401,"path":402,"stem":403},"Extensibility","\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":317,"path":405,"stem":406,"children":407,"page":315},"\u002Fformat\u002Fguides","format\u002F3.guides",[408,412,416,420,424],{"title":409,"path":410,"stem":411},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":413,"path":414,"stem":415},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":417,"path":418,"stem":419},"Validating","\u002Fformat\u002Fguides\u002Fvalidating","format\u002F3.guides\u002F3.validating",{"title":421,"path":422,"stem":423},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":425,"path":426,"stem":427},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":71,"path":429,"stem":430,"children":431},"\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[432,433,435,439],{"title":71,"path":429,"stem":430},{"title":197,"path":196,"stem":434},"format\u002F4.reference\u002F1.json-schema",{"title":436,"path":437,"stem":438},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":440,"path":209,"stem":441,"children":442},"Object reference","format\u002Freference\u002Fobjects\u002Findex",[443],{"title":440,"path":209,"stem":441},{"title":250,"path":251,"stem":254,"children":445},[446],{"title":250,"path":251,"stem":254},{"title":448,"path":232,"stem":449},"Changelog","format\u002F6.changelog",{"title":451,"path":452,"stem":453,"children":454},"Render","\u002Frender","render",[455,457,467,499],{"title":264,"path":452,"stem":456},"render\u002Findex",{"title":303,"path":458,"stem":459,"children":460,"page":315},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[461,464],{"title":308,"path":462,"stem":463},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":312,"path":465,"stem":466},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":317,"path":468,"stem":469,"children":470,"page":315},"\u002Frender\u002Fguides","render\u002F2.guides",[471,475,479,483,487,491,495],{"title":472,"path":473,"stem":474},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":476,"path":477,"stem":478},"Layers and labels","\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":480,"path":481,"stem":482},"Theming","\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":484,"path":485,"stem":486},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":488,"path":489,"stem":490},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":492,"path":493,"stem":494},"Zoom, pan and highlights","\u002Frender\u002Fguides\u002Finteraction","render\u002F2.guides\u002F6.interaction",{"title":496,"path":497,"stem":498},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":346,"path":500,"stem":501,"children":502},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[503],{"title":346,"path":500,"stem":501},{"title":505,"path":506,"stem":507,"children":508},"Utils","\u002Futils","utils",[509,511,521,556],{"title":264,"path":506,"stem":510},"utils\u002Findex",{"title":303,"path":512,"stem":513,"children":514,"page":315},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[515,518],{"title":308,"path":516,"stem":517},"\u002Futils\u002Fgetting-started\u002Finstallation","utils\u002F1.getting-started\u002F1.installation",{"title":312,"path":519,"stem":520},"\u002Futils\u002Fgetting-started\u002Ffirst-use","utils\u002F1.getting-started\u002F2.first-use",{"title":317,"path":522,"stem":523,"children":524,"page":315},"\u002Futils\u002Fguides","utils\u002F2.guides",[525,529,533,537,541,544,548,552],{"title":526,"path":527,"stem":528},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":530,"path":531,"stem":532},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":534,"path":535,"stem":536},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":538,"path":539,"stem":540},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":112,"path":542,"stem":543},"\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":545,"path":546,"stem":547},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":549,"path":550,"stem":551},"SIAGAS import","\u002Futils\u002Fguides\u002Fsiagas-import","utils\u002F2.guides\u002F7.siagas-import",{"title":553,"path":554,"stem":555},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":346,"path":557,"stem":558,"children":559},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[560],{"title":346,"path":557,"stem":558},[562],{"title":352,"path":353,"stem":354,"children":563,"page":315},[564],{"title":565,"path":251,"stem":566,"children":567,"page":315},"Spec","format\u002Fspec",[568,576,584],{"title":569,"path":570,"stem":571,"children":572,"page":315},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[573],{"title":574,"path":133,"stem":575},"FGDC Texture Patterns Reference","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":577,"path":578,"stem":579,"children":580,"page":315},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[581],{"title":582,"path":144,"stem":583},".well File Format Specification","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":585,"path":586,"stem":587,"children":588,"page":315},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[589,592,595,598,601],{"title":590,"path":81,"stem":591},".well File Format Specification — Version 2.4: Format Reference","format\u002Fspec\u002Fv2\u002Fformat-reference",{"title":593,"path":122,"stem":594},".well File Format Specification — Version 2.4: Interoperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":596,"path":100,"stem":597},".well File Format Specification — Version 2.4: Object Schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":599,"path":70,"stem":600},".well File Format Specification — Version 2.4: Overview","format\u002Fspec\u002Fv2\u002Foverview",{"title":602,"path":111,"stem":603},".well File Format Specification — Version 2.4: Water Quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[605,610,616],{"title":297,"path":186,"stem":298,"children":606,"page":315},[607],{"title":189,"path":608,"stem":609},"\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":451,"path":452,"stem":453,"children":611,"page":315},[612],{"title":613,"path":614,"stem":615},"@welldot\u002Frender","\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":505,"path":506,"stem":507,"children":617,"page":315},[618],{"title":619,"path":620,"stem":621},"@welldot\u002Futils","\u002Futils\u002Fchangelog","utils\u002FCHANGELOG",1793050492599]