[{"data":1,"prerenderedAt":593},["ShallowReactive",2],{"page-\u002Futils\u002Fgetting-started\u002Finstallation":3,"navigation":215},{"collection":4,"page":5},"docs_en",{"id":6,"title":7,"body":8,"description":206,"extension":207,"meta":208,"navigation":209,"path":210,"rawbody":211,"seo":212,"stem":213,"__hash__":214},"docs_en\u002Futils\u002F1.getting-started\u002F1.installation.md","Installation",{"type":9,"value":10,"toc":199},"minimark",[11,76,99,104,114,118,167,171,185,189,195],[12,13,14,43,60],"code-group",{},[15,16,22],"pre",{"className":17,"code":18,"filename":19,"language":20,"meta":21,"style":21},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @welldot\u002Fcore @welldot\u002Futils\n","pnpm","bash","",[23,24,25],"code",{"__ignoreMap":21},[26,27,30,33,37,40],"span",{"class":28,"line":29},"line",1,[26,31,19],{"class":32},"sBMFI",[26,34,36],{"class":35},"sfazB"," add",[26,38,39],{"class":35}," @welldot\u002Fcore",[26,41,42],{"class":35}," @welldot\u002Futils\n",[15,44,47],{"className":17,"code":45,"filename":46,"language":20,"meta":21,"style":21},"npm install @welldot\u002Fcore @welldot\u002Futils\n","npm",[23,48,49],{"__ignoreMap":21},[26,50,51,53,56,58],{"class":28,"line":29},[26,52,46],{"class":32},[26,54,55],{"class":35}," install",[26,57,39],{"class":35},[26,59,42],{"class":35},[15,61,64],{"className":17,"code":62,"filename":63,"language":20,"meta":21,"style":21},"yarn add @welldot\u002Fcore @welldot\u002Futils\n","yarn",[23,65,66],{"__ignoreMap":21},[26,67,68,70,72,74],{"class":28,"line":29},[26,69,63],{"class":32},[26,71,36],{"class":35},[26,73,39],{"class":35},[26,75,42],{"class":35},[77,78,79,82,83,86,87,90,91,94,95,98],"p",{},[23,80,81],{},"@welldot\u002Futils"," depends on ",[23,84,85],{},"@welldot\u002Fcore",", which provides the ",[23,88,89],{},"Well"," type and the parser. Install both so your code can import ",[23,92,93],{},"parseWell"," directly. ",[23,96,97],{},"date-fns"," is installed as a dependency for the date helpers.",[100,101,103],"h2",{"id":102},"requirements","Requirements",[105,106,107,111],"ul",{},[108,109,110],"li",{},"Node.js 18 or later, or any modern browser or bundler. Everything except the SIAGAS importer runs without a DOM or network.",[108,112,113],{},"ES modules and CommonJS are both published, with TypeScript declarations.",[100,115,117],{"id":116},"entry-points","Entry points",[119,120,121,134],"table",{},[122,123,124],"thead",{},[125,126,127,131],"tr",{},[128,129,130],"th",{},"Import",[128,132,133],{},"Contents",[135,136,137,147],"tbody",{},[125,138,139,144],{},[140,141,142],"td",{},[23,143,81],{},[140,145,146],{},"All analysis, query and formatting functions. Pure, side-effect free.",[125,148,149,154],{},[140,150,151],{},[23,152,153],{},"@welldot\u002Futils\u002Fsiagas",[140,155,156,157,160,161,166],{},"The SIAGAS registry importer. Uses ",[23,158,159],{},"fetch","; call it from a server (",[162,163,165],"a",{"href":164},"\u002Futils\u002Fguides\u002Fsiagas-import","SIAGAS import",").",[100,168,170],{"id":169},"versions","Versions",[77,172,173,174,176,177,179,180,184],{},"Use matching minor versions of ",[23,175,85],{}," and ",[23,178,81],{},"; both are released together from the same repository. The current release, 0.5.0, supports format revision 2.4. See the ",[162,181,183],{"href":182},"\u002Futils\u002Fchangelog","changelog",".",[100,186,188],{"id":187},"next","Next",[77,190,191],{},[162,192,194],{"href":193},"\u002Futils\u002Fgetting-started\u002Ffirst-use","First use",[196,197,198],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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":21,"searchDepth":200,"depth":200,"links":201},2,[202,203,204,205],{"id":102,"depth":200,"text":103},{"id":116,"depth":200,"text":117},{"id":169,"depth":200,"text":170},{"id":187,"depth":200,"text":188},"Install @welldot\u002Futils, its relationship to @welldot\u002Fcore, and the separate SIAGAS entry point.","md",{},true,"\u002Futils\u002Fgetting-started\u002Finstallation","---\ntitle: Installation\ndescription: Install @welldot\u002Futils, its relationship to @welldot\u002Fcore, and the separate SIAGAS entry point.\n---\n\n::code-group\n\n```bash [pnpm]\npnpm add @welldot\u002Fcore @welldot\u002Futils\n```\n\n```bash [npm]\nnpm install @welldot\u002Fcore @welldot\u002Futils\n```\n\n```bash [yarn]\nyarn add @welldot\u002Fcore @welldot\u002Futils\n```\n\n::\n\n`@welldot\u002Futils` depends on `@welldot\u002Fcore`, which provides the `Well` type and the parser. Install both so your code can import `parseWell` directly. `date-fns` is installed as a dependency for the date helpers.\n\n## Requirements\n\n- Node.js 18 or later, or any modern browser or bundler. Everything except the SIAGAS importer runs without a DOM or network.\n- ES modules and CommonJS are both published, with TypeScript declarations.\n\n## Entry points\n\n| Import                  | Contents                                                                                                          |\n| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |\n| `@welldot\u002Futils`        | All analysis, query and formatting functions. Pure, side-effect free.                                             |\n| `@welldot\u002Futils\u002Fsiagas` | The SIAGAS registry importer. Uses `fetch`; call it from a server ([SIAGAS import](\u002Futils\u002Fguides\u002Fsiagas-import)). |\n\n## Versions\n\nUse matching minor versions of `@welldot\u002Fcore` and `@welldot\u002Futils`; both are released together from the same repository. The current release, 0.5.0, supports format revision 2.4. See the [changelog](\u002Futils\u002Fchangelog).\n\n## Next\n\n[First use](\u002Futils\u002Fgetting-started\u002Ffirst-use)\n",{"title":7,"description":206},"utils\u002F1.getting-started\u002F1.installation","mj8xq61X7Ry_x5zqZx7xB2QjwDlpxG5W0F0T3m5lHtM",{"docs_en":216,"spec":527,"changelogs":577},[217,237,256,310,420,474],{"title":218,"path":219,"stem":220,"children":221},"Ai","\u002Fai","ai",[222,225,229,233],{"title":223,"path":219,"stem":224},"Introduction","ai\u002Findex",{"title":226,"path":227,"stem":228},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":230,"path":231,"stem":232},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":234,"path":235,"stem":236},"MCP server","\u002Fai\u002Fmcp","ai\u002Fmcp",{"title":238,"path":239,"stem":240,"children":241},"Contributing","\u002Fcontributing","contributing",[242,244,248,252],{"title":223,"path":239,"stem":243},"contributing\u002Findex",{"title":245,"path":246,"stem":247},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":249,"path":250,"stem":251},"Update rules","\u002Fcontributing\u002Fupdate-rules","contributing\u002F2.update-rules",{"title":253,"path":254,"stem":255},"Content components","\u002Fcontributing\u002Fcomponents","contributing\u002Fcomponents",{"title":257,"path":258,"stem":259,"children":260},"Core","\u002Fcore","core",[261,263,275,304],{"title":223,"path":258,"stem":262},"core\u002Findex",{"title":264,"path":265,"stem":266,"children":267,"page":274},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[268,271],{"title":7,"path":269,"stem":270},"\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":194,"path":272,"stem":273},"\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":276,"path":277,"stem":278,"children":279,"page":274},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[280,284,288,292,296,300],{"title":281,"path":282,"stem":283},"Parsing and validating","\u002Fcore\u002Fguides\u002Fparsing-and-validating","core\u002F2.guides\u002F1.parsing-and-validating",{"title":285,"path":286,"stem":287},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":289,"path":290,"stem":291},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":293,"path":294,"stem":295},"Vocabularies and textures","\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","core\u002F2.guides\u002F4.vocabularies-and-textures",{"title":297,"path":298,"stem":299},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":301,"path":302,"stem":303},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":305,"path":306,"stem":307,"children":308},"API reference","\u002Fcore\u002Fapi","core\u002Fapi\u002Findex",[309],{"title":305,"path":306,"stem":307},{"title":311,"path":312,"stem":313,"children":314},"Format","\u002Fformat","format",[315,317,337,366,390,410,416],{"title":223,"path":312,"stem":316},"format\u002Findex",{"title":264,"path":318,"stem":319,"children":320,"page":274},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[321,325,329,333],{"title":322,"path":323,"stem":324},"What is .well?","\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","format\u002F1.getting-started\u002F1.what-is-well",{"title":326,"path":327,"stem":328},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":330,"path":331,"stem":332},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":334,"path":335,"stem":336},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":338,"path":339,"stem":340,"children":341,"page":274},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[342,346,350,354,358,362],{"title":343,"path":344,"stem":345},"Depths and intervals","\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":347,"path":348,"stem":349},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":351,"path":352,"stem":353},"Vocabularies","\u002Fformat\u002Fconcepts\u002Fvocabularies","format\u002F2.concepts\u002F3.vocabularies",{"title":355,"path":356,"stem":357},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":359,"path":360,"stem":361},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":363,"path":364,"stem":365},"Extensibility","\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":276,"path":367,"stem":368,"children":369,"page":274},"\u002Fformat\u002Fguides","format\u002F3.guides",[370,374,378,382,386],{"title":371,"path":372,"stem":373},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":375,"path":376,"stem":377},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":379,"path":380,"stem":381},"Validating","\u002Fformat\u002Fguides\u002Fvalidating","format\u002F3.guides\u002F3.validating",{"title":383,"path":384,"stem":385},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":387,"path":388,"stem":389},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":391,"path":392,"stem":393,"children":394},"Overview","\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[395,396,400,404],{"title":391,"path":392,"stem":393},{"title":397,"path":398,"stem":399},"JSON Schema","\u002Fformat\u002Freference\u002Fjson-schema","format\u002F4.reference\u002F1.json-schema",{"title":401,"path":402,"stem":403},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":405,"path":406,"stem":407,"children":408},"Object reference","\u002Fformat\u002Freference\u002Fobjects","format\u002Freference\u002Fobjects\u002Findex",[409],{"title":405,"path":406,"stem":407},{"title":411,"path":412,"stem":413,"children":414},"About the spec","\u002Fformat\u002Fspec","format\u002F5.spec\u002Findex",[415],{"title":411,"path":412,"stem":413},{"title":417,"path":418,"stem":419},"Changelog","\u002Fformat\u002Fchangelog","format\u002F6.changelog",{"title":421,"path":422,"stem":423,"children":424},"Render","\u002Frender","render",[425,427,437,469],{"title":223,"path":422,"stem":426},"render\u002Findex",{"title":264,"path":428,"stem":429,"children":430,"page":274},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[431,434],{"title":7,"path":432,"stem":433},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":194,"path":435,"stem":436},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":276,"path":438,"stem":439,"children":440,"page":274},"\u002Frender\u002Fguides","render\u002F2.guides",[441,445,449,453,457,461,465],{"title":442,"path":443,"stem":444},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":446,"path":447,"stem":448},"Layers and labels","\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":450,"path":451,"stem":452},"Theming","\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":454,"path":455,"stem":456},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":458,"path":459,"stem":460},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":462,"path":463,"stem":464},"Zoom, pan and highlights","\u002Frender\u002Fguides\u002Finteraction","render\u002F2.guides\u002F6.interaction",{"title":466,"path":467,"stem":468},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":305,"path":470,"stem":471,"children":472},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[473],{"title":305,"path":470,"stem":471},{"title":475,"path":476,"stem":477,"children":478},"Utils","\u002Futils","utils",[479,481,488,522],{"title":223,"path":476,"stem":480},"utils\u002Findex",{"title":264,"path":482,"stem":483,"children":484,"page":274},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[485,486],{"title":7,"path":210,"stem":213},{"title":194,"path":193,"stem":487},"utils\u002F1.getting-started\u002F2.first-use",{"title":276,"path":489,"stem":490,"children":491,"page":274},"\u002Futils\u002Fguides","utils\u002F2.guides",[492,496,500,504,508,512,516,518],{"title":493,"path":494,"stem":495},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":497,"path":498,"stem":499},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":501,"path":502,"stem":503},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":505,"path":506,"stem":507},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":509,"path":510,"stem":511},"Water quality","\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":513,"path":514,"stem":515},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":165,"path":164,"stem":517},"utils\u002F2.guides\u002F7.siagas-import",{"title":519,"path":520,"stem":521},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":305,"path":523,"stem":524,"children":525},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[526],{"title":305,"path":523,"stem":524},[528],{"title":311,"path":312,"stem":313,"children":529,"page":274},[530],{"title":531,"path":412,"stem":532,"children":533,"page":274},"Spec","format\u002Fspec",[534,543,552],{"title":535,"path":536,"stem":537,"children":538,"page":274},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[539],{"title":540,"path":541,"stem":542},"FGDC Texture Patterns Reference","\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":544,"path":545,"stem":546,"children":547,"page":274},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[548],{"title":549,"path":550,"stem":551},".well File Format Specification","\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":553,"path":554,"stem":555,"children":556,"page":274},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[557,561,565,569,573],{"title":558,"path":559,"stem":560},".well File Format Specification — Version 2.4: Format Reference","\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","format\u002Fspec\u002Fv2\u002Fformat-reference",{"title":562,"path":563,"stem":564},".well File Format Specification — Version 2.4: Interoperability","\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":566,"path":567,"stem":568},".well File Format Specification — Version 2.4: Object Schemas","\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":570,"path":571,"stem":572},".well File Format Specification — Version 2.4: Overview","\u002Fformat\u002Fspec\u002Fv2\u002Foverview","format\u002Fspec\u002Fv2\u002Foverview",{"title":574,"path":575,"stem":576},".well File Format Specification — Version 2.4: Water Quality","\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[578,583,589],{"title":257,"path":258,"stem":259,"children":579,"page":274},[580],{"title":85,"path":581,"stem":582},"\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":421,"path":422,"stem":423,"children":584,"page":274},[585],{"title":586,"path":587,"stem":588},"@welldot\u002Frender","\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":475,"path":476,"stem":477,"children":590,"page":274},[591],{"title":81,"path":182,"stem":592},"utils\u002FCHANGELOG",1793050494968]