[{"data":1,"prerenderedAt":9265},["ShallowReactive",2],{"page-\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference":3,"navigation":8888},{"collection":4,"page":5},"spec",{"id":6,"title":7,"body":8,"description":8880,"extension":8881,"meta":8882,"navigation":790,"path":8883,"rawbody":8884,"seo":8885,"stem":8886,"__hash__":8887},"spec\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference.md",".well File Format Specification — Version 2.4: Format Reference",{"type":9,"value":10,"toc":8750},"minimark",[11,20,46,51,76,80,712,715,718,1387,1393,1403,1420,1422,1425,1485,1511,1555,1585,1603,1606,1624,1693,1730,1732,1735,1740,1770,1773,1776,1797,1800,1821,1824,1827,1841,1844,1856,1859,1873,1886,1889,1892,1894,1897,1900,2024,2027,2104,2107,2154,2157,2303,2308,2311,2397,2403,2425,2439,2458,2463,2519,2537,2539,2542,2547,2589,2602,2706,2729,2742,2747,2757,2805,2834,2848,2851,2859,2872,2874,2877,2887,2922,2927,2936,3020,3029,3051,3053,3060,3079,3196,3198,3205,3285,3289,3294,3309,3400,3404,3411,3416,3508,3521,3528,3624,3629,3636,3702,3708,3710,3717,3808,3820,3827,3879,3886,3978,3989,3996,4068,4077,4084,4176,4180,4187,4268,4280,4287,4329,4333,4340,4356,4365,4397,4407,4460,4467,4486,4491,4503,4569,4573,4578,4677,4681,4686,4773,4782,4787,4853,4857,4864,4974,4978,4985,5001,5080,5092,5099,5261,5266,5268,5272,5275,5345,5353,5356,5375,5386,5389,5399,5551,5553,5557,5571,5585,5658,5663,5797,5802,5860,5868,5871,5881,6066,6068,6071,6081,6084,6496,6506,6509,6518,6712,6720,6777,6785,6839,6847,6881,6891,6921,6931,6946,6953,6961,6968,6976,6983,6991,6998,7008,7015,7025,7032,7042,7049,7059,7066,7076,7083,7106,7114,7138,7144,7213,7218,7231,7234,7258,7261,7275,7278,7291,7294,7303,7306,7315,7317,7322,7331,7333,7337,7340,7381,7384,7426,7431,7437,7440,7459,7461,7464,7469,7495,7617,7623,7628,7643,7708,7713,7753,7762,7829,7831,7836,7847,7878,7896,7898,7901,7906,7909,7916,8087,8094,8097,8100,8325,8355,8358,8361,8367,8380,8385,8388,8411,8414,8426,8432,8478,8484,8489,8501,8503,8506,8509,8516,8519,8692,8695,8702,8737,8739,8746],[12,13,15,19],"h1",{"id":14},"well-file-format-specification--version-24-format-reference",[16,17,18],"code",{},".well"," File Format Specification — Version 2.4: Format Reference",[21,22,23,27,28,33,34,33,38,33,42],"p",{},[24,25,26],"strong",{},"See also:"," ",[29,30,32],"a",{"href":31},"\u002Fformat\u002Fspec\u002Fv2\u002Foverview","overview.md"," · ",[29,35,37],{"href":36},"\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","object-schemas.md",[29,39,41],{"href":40},"\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","interoperability.md",[29,43,45],{"href":44},"\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","water-quality.md",[47,48,50],"h2",{"id":49},"overview","Overview",[21,52,53,54,56,57,60,61,64,65,68,69,72,73,75],{},"This part of the ",[16,55,18],{}," v2.4 specification defines the file as a whole: the top-level structure and fields, how versions and deprecations work, datetime conventions, the recommended values of every open vocabulary, ",[16,58,59],{},"well_id"," and ",[16,62,63],{},"location",", the canonical units and which unit each field uses, ",[16,66,67],{},"profiles",", the ",[16,70,71],{},"x-"," extension rules, cross-reference and uniqueness rules, and precision fields. The objects inside each block are specified in ",[29,74,37],{"href":36},".",[47,77,79],{"id":78},"table-of-contents","Table of contents",[81,82,83],"ul",{},[84,85,86,91],"li",{},[29,87,89,19],{"href":88},"#well-file-format-specification--version-24-format-reference",[16,90,18],{},[81,92,93,98,103,121,135,167,216,238,244,253,265,275,283,293,303,313,323,333,343,353,363,373,383,393,403,411,419,427,435,445,456,466,487,518,570,578,607,641,649,698],{},[84,94,95],{},[29,96,50],{"href":97},"#overview",[84,99,100],{},[29,101,79],{"href":102},"#table-of-contents",[84,104,105,109],{},[29,106,108],{"href":107},"#top-level-structure","Top-level Structure",[81,110,111],{},[84,112,113],{},[29,114,116,117],{"href":115},"#absent-values-since-v24","Absent values ",[118,119,120],"em",{},"(since v2.4)",[84,122,123,127],{},[29,124,126],{"href":125},"#versioning","Versioning",[81,128,129],{},[84,130,131],{},[29,132,134],{"href":133},"#parser-version-handling","Parser version handling",[84,136,137,141],{},[29,138,140],{"href":139},"#deprecation-policy","Deprecation Policy",[81,142,143,149,155,161],{},[84,144,145],{},[29,146,148],{"href":147},"#field-lifecycle","Field lifecycle",[84,150,151],{},[29,152,154],{"href":153},"#parser-behavior","Parser behavior",[84,156,157],{},[29,158,160],{"href":159},"#vocabulary-value-promotion","Vocabulary value promotion",[84,162,163],{},[29,164,166],{"href":165},"#canonical-deprecation-registry","Canonical deprecation registry",[84,168,169,173],{},[29,170,172],{"href":171},"#top-level-fields","Top-level Fields",[81,174,175,181,187,193,199,208],{},[84,176,177],{},[29,178,180],{"href":179},"#core-identity","Core identity",[84,182,183],{},[29,184,186],{"href":185},"#v2-additions","v2 additions",[84,188,189],{},[29,190,192],{"href":191},"#v21-additions","v2.1 additions",[84,194,195],{},[29,196,198],{"href":197},"#v23-additions","v2.3 additions",[84,200,201],{},[29,202,204,205],{"href":203},"#block-kinds-since-v23","Block kinds ",[118,206,207],{},"(since v2.3)",[84,209,210],{},[29,211,213,214],{"href":212},"#naming-rules-since-v23","Naming rules ",[118,215,207],{},[84,217,218,222],{},[29,219,221],{"href":220},"#datetime-conventions","Datetime Conventions",[81,223,224,232],{},[84,225,226],{},[29,227,229,230],{"href":228},"#instants-known-only-by-date-since-v23","Instants known only by date ",[118,231,207],{},[84,233,234],{},[29,235,237],{"href":236},"#ordering-and-ties","Ordering and ties",[84,239,240],{},[29,241,243],{"href":242},"#recommended-vocabularies","Recommended vocabularies",[84,245,246],{},[29,247,249,252],{"href":248},"#well_type--recommended-values",[16,250,251],{},"well_type"," — Recommended values",[84,254,255],{},[29,256,258,261,262],{"href":257},"#well_purpose--recommended-values-since-v21",[16,259,260],{},"well_purpose"," — Recommended values ",[118,263,264],{},"(since v2.1)",[84,266,267],{},[29,268,270,261,273],{"href":269},"#bore_holedrilling_method--recommended-values-since-v23",[16,271,272],{},"bore_hole[].drilling_method",[118,274,207],{},[84,276,277],{},[29,278,280,281],{"href":279},"#construction-materials--recommended-values-since-v23","Construction materials — Recommended values ",[118,282,207],{},[84,284,285],{},[29,286,288,261,291],{"href":287},"#well_screenslot_type--recommended-values-since-v23",[16,289,290],{},"well_screen[].slot_type",[118,292,207],{},[84,294,295],{},[29,296,298,261,301],{"href":297},"#centralizerstype--recommended-values-since-v21",[16,299,300],{},"centralizers[].type",[118,302,264],{},[84,304,305],{},[29,306,308,261,311],{"href":307},"#cement_padtype--recommended-values-since-v23",[16,309,310],{},"cement_pad.type",[118,312,207],{},[84,314,315],{},[29,316,318,261,321],{"href":317},"#pump_installationstype--recommended-values-since-v23",[16,319,320],{},"pump_installations[].type",[118,322,207],{},[84,324,325],{},[29,326,328,261,331],{"href":327},"#pump_installationspower_source--recommended-values-since-v23",[16,329,330],{},"pump_installations[].power_source",[118,332,207],{},[84,334,335],{},[29,336,338,261,341],{"href":337},"#permitstype--recommended-values-since-v23",[16,339,340],{},"permits[].type",[118,342,207],{},[84,344,345],{},[29,346,348,261,351],{"href":347},"#permitswater_use--recommended-values-since-v23",[16,349,350],{},"permits[].water_use",[118,352,207],{},[84,354,355],{},[29,356,358,261,361],{"href":357},"#permitsconditionscategory--recommended-values-since-v23",[16,359,360],{},"permits[].conditions[].category",[118,362,207],{},[84,364,365],{},[29,366,368,261,371],{"href":367},"#permitshistorytype--recommended-values-since-v23",[16,369,370],{},"permits[].history[].type",[118,372,207],{},[84,374,375],{},[29,376,378,261,381],{"href":377},"#meterstype--recommended-values-since-v23",[16,379,380],{},"meters[].type",[118,382,207],{},[84,384,385],{},[29,386,388,261,391],{"href":387},"#production--recommended-values-since-v23",[16,389,390],{},"production[]",[118,392,207],{},[84,394,395],{},[29,396,398,261,401],{"href":397},"#water_samples--recommended-values-since-v23",[16,399,400],{},"water_samples[]",[118,402,207],{},[84,404,405],{},[29,406,408,252],{"href":407},"#hydrodynamic_eventsmeasurement_method--recommended-values",[16,409,410],{},"hydrodynamic_events[].measurement_method",[84,412,413],{},[29,414,416,252],{"href":415},"#aquifer_analysismethod--recommended-values",[16,417,418],{},"aquifer_analysis[].method",[84,420,421],{},[29,422,424,252],{"href":423},"#history_logscategory--recommended-values",[16,425,426],{},"history_logs[].category",[84,428,429],{},[29,430,432,252],{"href":431},"#history_logsseverity--recommended-values",[16,433,434],{},"history_logs[].severity",[84,436,437],{},[29,438,440,261,443],{"href":439},"#history_logsmaintenance_type--recommended-values-since-v23",[16,441,442],{},"history_logs[].maintenance_type",[118,444,207],{},[84,446,447],{},[29,448,450,453,454],{"href":449},"#history_logsstatus--allowed-values-since-v23",[16,451,452],{},"history_logs[].status"," — Allowed values ",[118,455,207],{},[84,457,458],{},[29,459,461,261,464],{"href":460},"#attachmentdocument_type--recommended-values-since-v23",[16,462,463],{},"Attachment.document_type",[118,465,207],{},[84,467,468,473],{},[29,469,471],{"href":470},"#well_id",[16,472,59],{},[81,474,475,481],{},[84,476,477],{},[29,478,480],{"href":479},"#numeric-id-conversion","Numeric ID conversion",[84,482,483],{},[29,484,486],{"href":485},"#uniqueness","Uniqueness",[84,488,489,494],{},[29,490,492],{"href":491},"#location",[16,493,63],{},[81,495,496,504,512],{},[84,497,498],{},[29,499,501],{"href":500},"#locationproperties",[16,502,503],{},"LocationProperties",[84,505,506],{},[29,507,509,252],{"href":508},"#elevation_datum--recommended-values",[16,510,511],{},"elevation_datum",[84,513,514],{},[29,515,517],{"href":516},"#crs-scope","CRS scope",[84,519,520,524],{},[29,521,523],{"href":522},"#units","Units",[81,525,526,532,538,546,552,558,564],{},[84,527,528],{},[29,529,531],{"href":530},"#canonical-units","Canonical units",[84,533,534],{},[29,535,537],{"href":536},"#field-to-unit-binding-normative","Field-to-unit binding (normative)",[84,539,540],{},[29,541,543,544],{"href":542},"#water-quality-units-since-v23","Water quality units ",[118,545,207],{},[84,547,548],{},[29,549,551],{"href":550},"#level-sign-convention","Level sign convention",[84,553,554],{},[29,555,557],{"href":556},"#diameter-and-the-as-built-convention","Diameter and the as-built convention",[84,559,560],{},[29,561,563],{"href":562},"#screen-slot","Screen slot",[84,565,566],{},[29,567,569],{"href":568},"#rationale","Rationale",[84,571,572],{},[29,573,575,576],{"href":574},"#water-quality-parameter-vocabulary-since-v23","Water quality parameter vocabulary ",[118,577,207],{},[84,579,580,585],{},[29,581,583],{"href":582},"#profiles",[16,584,67],{},[81,586,587,593,601],{},[84,588,589],{},[29,590,592],{"href":591},"#profile-schema-requirements","Profile schema requirements",[84,594,595],{},[29,596,598,599],{"href":597},"#example-a-regulatory-water-quality-profile-since-v23","Example: a regulatory water quality profile ",[118,600,207],{},[84,602,603],{},[29,604,606],{"href":605},"#profile-validation","Profile validation",[84,608,609,613],{},[29,610,612],{"href":611},"#extensibility","Extensibility",[81,614,615,624,633],{},[84,616,617],{},[29,618,620,621,623],{"href":619},"#custom-fields--x--prefix","Custom fields — ",[16,622,71],{}," prefix",[84,625,626],{},[29,627,629,630,632],{"href":628},"#custom-top-level-blocks--x--prefix-required","Custom top-level blocks — ",[16,631,71],{}," prefix required",[84,634,635],{},[29,636,638,639,623],{"href":637},"#custom-vocabulary-values--x--prefix","Custom vocabulary values — ",[16,640,71],{},[84,642,643],{},[29,644,646,647],{"href":645},"#offline-packaging-since-v24","Offline packaging ",[118,648,120],{},[84,650,651,655],{},[29,652,654],{"href":653},"#cross-reference-and-uniqueness-rules","Cross-reference and Uniqueness Rules",[81,656,657,663,669,675,683,689],{},[84,658,659],{},[29,660,662],{"href":661},"#uniqueness-scope","Uniqueness scope",[84,664,665],{},[29,666,668],{"href":667},"#cross-array-references","Cross-array references",[84,670,671],{},[29,672,674],{"href":673},"#dangling-references","Dangling references",[84,676,677],{},[29,678,680,681],{"href":679},"#repeated-records-since-v24","Repeated records ",[118,682,120],{},[84,684,685],{},[29,686,688],{"href":687},"#duplicate-ids-within-a-scope","Duplicate IDs within a scope",[84,690,691],{},[29,692,694,697],{"href":693},"#id-field-convention",[16,695,696],{},"id"," field convention",[84,699,700,704],{},[29,701,703],{"href":702},"#precision-and-uncertainty","Precision and Uncertainty",[81,705,706],{},[84,707,708],{},[29,709,711],{"href":710},"#supported-precision-fields","Supported precision fields",[713,714],"hr",{},[47,716,108],{"id":717},"top-level-structure",[719,720,725],"pre",{"className":721,"code":722,"language":723,"meta":724,"style":724},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"version\": \"2.4\",\n  \"@context\": \"https:\u002F\u002Fwelldot.org\u002Fcontext\u002Fv2.jsonld\",\n\n  \"well_id\": [ ... ],\n  \"location\": { ... },\n\n  \"name\": \"...\",\n  \"well_type\": \"...\",\n  \"well_purpose\": [ ... ],\n  \"well_driller\": \"...\",\n  \"construction_date\": \"YYYY-MM-DD\",\n  \"obs\": \"...\",\n\n  \"profiles\": [ ... ],\n\n  \"bore_hole\": [ ... ],\n  \"well_case\": [ ... ],\n  \"reduction\": [ ... ],\n  \"well_screen\": [ ... ],\n  \"surface_case\": [ ... ],\n  \"hole_fill\": [ ... ],\n  \"centralizers\": [ ... ],\n  \"cement_pad\": { ... },\n\n  \"lithology\": [ ... ],\n  \"fractures\": [ ... ],\n  \"caves\": [ ... ],\n\n  \"hydrodynamic_events\": [ ... ],\n  \"aquifer_analysis\": [ ... ],\n  \"history_logs\": [ ... ],\n\n  \"attachments\": [ ... ],\n  \"pump_installations\": [ ... ],\n  \"permits\": [ ... ],\n  \"meters\": [ ... ],\n  \"production\": [ ... ],\n  \"operating_regime\": [ ... ],\n\n  \"water_samples\": [ ... ]\n}\n","json","",[16,726,727,736,764,785,792,813,832,837,858,877,894,914,935,955,960,977,982,1000,1018,1036,1054,1072,1090,1108,1126,1131,1149,1167,1185,1190,1208,1226,1244,1249,1267,1285,1303,1321,1339,1357,1362,1381],{"__ignoreMap":724},[728,729,732],"span",{"class":730,"line":731},"line",1,[728,733,735],{"class":734},"sMK4o","{\n",[728,737,739,742,746,749,752,755,759,761],{"class":730,"line":738},2,[728,740,741],{"class":734},"  \"",[728,743,745],{"class":744},"spNyl","version",[728,747,748],{"class":734},"\"",[728,750,751],{"class":734},":",[728,753,754],{"class":734}," \"",[728,756,758],{"class":757},"sfazB","2.4",[728,760,748],{"class":734},[728,762,763],{"class":734},",\n",[728,765,767,769,772,774,776,778,781,783],{"class":730,"line":766},3,[728,768,741],{"class":734},[728,770,771],{"class":744},"@context",[728,773,748],{"class":734},[728,775,751],{"class":734},[728,777,754],{"class":734},[728,779,780],{"class":757},"https:\u002F\u002Fwelldot.org\u002Fcontext\u002Fv2.jsonld",[728,782,748],{"class":734},[728,784,763],{"class":734},[728,786,788],{"class":730,"line":787},4,[728,789,791],{"emptyLinePlaceholder":790},true,"\n",[728,793,795,797,799,801,803,806,810],{"class":730,"line":794},5,[728,796,741],{"class":734},[728,798,59],{"class":744},[728,800,748],{"class":734},[728,802,751],{"class":734},[728,804,805],{"class":734}," [",[728,807,809],{"class":808},"sTEyZ"," ... ",[728,811,812],{"class":734},"],\n",[728,814,816,818,820,822,824,827,829],{"class":730,"line":815},6,[728,817,741],{"class":734},[728,819,63],{"class":744},[728,821,748],{"class":734},[728,823,751],{"class":734},[728,825,826],{"class":734}," {",[728,828,809],{"class":808},[728,830,831],{"class":734},"},\n",[728,833,835],{"class":730,"line":834},7,[728,836,791],{"emptyLinePlaceholder":790},[728,838,840,842,845,847,849,851,854,856],{"class":730,"line":839},8,[728,841,741],{"class":734},[728,843,844],{"class":744},"name",[728,846,748],{"class":734},[728,848,751],{"class":734},[728,850,754],{"class":734},[728,852,853],{"class":757},"...",[728,855,748],{"class":734},[728,857,763],{"class":734},[728,859,861,863,865,867,869,871,873,875],{"class":730,"line":860},9,[728,862,741],{"class":734},[728,864,251],{"class":744},[728,866,748],{"class":734},[728,868,751],{"class":734},[728,870,754],{"class":734},[728,872,853],{"class":757},[728,874,748],{"class":734},[728,876,763],{"class":734},[728,878,880,882,884,886,888,890,892],{"class":730,"line":879},10,[728,881,741],{"class":734},[728,883,260],{"class":744},[728,885,748],{"class":734},[728,887,751],{"class":734},[728,889,805],{"class":734},[728,891,809],{"class":808},[728,893,812],{"class":734},[728,895,897,899,902,904,906,908,910,912],{"class":730,"line":896},11,[728,898,741],{"class":734},[728,900,901],{"class":744},"well_driller",[728,903,748],{"class":734},[728,905,751],{"class":734},[728,907,754],{"class":734},[728,909,853],{"class":757},[728,911,748],{"class":734},[728,913,763],{"class":734},[728,915,917,919,922,924,926,928,931,933],{"class":730,"line":916},12,[728,918,741],{"class":734},[728,920,921],{"class":744},"construction_date",[728,923,748],{"class":734},[728,925,751],{"class":734},[728,927,754],{"class":734},[728,929,930],{"class":757},"YYYY-MM-DD",[728,932,748],{"class":734},[728,934,763],{"class":734},[728,936,938,940,943,945,947,949,951,953],{"class":730,"line":937},13,[728,939,741],{"class":734},[728,941,942],{"class":744},"obs",[728,944,748],{"class":734},[728,946,751],{"class":734},[728,948,754],{"class":734},[728,950,853],{"class":757},[728,952,748],{"class":734},[728,954,763],{"class":734},[728,956,958],{"class":730,"line":957},14,[728,959,791],{"emptyLinePlaceholder":790},[728,961,963,965,967,969,971,973,975],{"class":730,"line":962},15,[728,964,741],{"class":734},[728,966,67],{"class":744},[728,968,748],{"class":734},[728,970,751],{"class":734},[728,972,805],{"class":734},[728,974,809],{"class":808},[728,976,812],{"class":734},[728,978,980],{"class":730,"line":979},16,[728,981,791],{"emptyLinePlaceholder":790},[728,983,985,987,990,992,994,996,998],{"class":730,"line":984},17,[728,986,741],{"class":734},[728,988,989],{"class":744},"bore_hole",[728,991,748],{"class":734},[728,993,751],{"class":734},[728,995,805],{"class":734},[728,997,809],{"class":808},[728,999,812],{"class":734},[728,1001,1003,1005,1008,1010,1012,1014,1016],{"class":730,"line":1002},18,[728,1004,741],{"class":734},[728,1006,1007],{"class":744},"well_case",[728,1009,748],{"class":734},[728,1011,751],{"class":734},[728,1013,805],{"class":734},[728,1015,809],{"class":808},[728,1017,812],{"class":734},[728,1019,1021,1023,1026,1028,1030,1032,1034],{"class":730,"line":1020},19,[728,1022,741],{"class":734},[728,1024,1025],{"class":744},"reduction",[728,1027,748],{"class":734},[728,1029,751],{"class":734},[728,1031,805],{"class":734},[728,1033,809],{"class":808},[728,1035,812],{"class":734},[728,1037,1039,1041,1044,1046,1048,1050,1052],{"class":730,"line":1038},20,[728,1040,741],{"class":734},[728,1042,1043],{"class":744},"well_screen",[728,1045,748],{"class":734},[728,1047,751],{"class":734},[728,1049,805],{"class":734},[728,1051,809],{"class":808},[728,1053,812],{"class":734},[728,1055,1057,1059,1062,1064,1066,1068,1070],{"class":730,"line":1056},21,[728,1058,741],{"class":734},[728,1060,1061],{"class":744},"surface_case",[728,1063,748],{"class":734},[728,1065,751],{"class":734},[728,1067,805],{"class":734},[728,1069,809],{"class":808},[728,1071,812],{"class":734},[728,1073,1075,1077,1080,1082,1084,1086,1088],{"class":730,"line":1074},22,[728,1076,741],{"class":734},[728,1078,1079],{"class":744},"hole_fill",[728,1081,748],{"class":734},[728,1083,751],{"class":734},[728,1085,805],{"class":734},[728,1087,809],{"class":808},[728,1089,812],{"class":734},[728,1091,1093,1095,1098,1100,1102,1104,1106],{"class":730,"line":1092},23,[728,1094,741],{"class":734},[728,1096,1097],{"class":744},"centralizers",[728,1099,748],{"class":734},[728,1101,751],{"class":734},[728,1103,805],{"class":734},[728,1105,809],{"class":808},[728,1107,812],{"class":734},[728,1109,1111,1113,1116,1118,1120,1122,1124],{"class":730,"line":1110},24,[728,1112,741],{"class":734},[728,1114,1115],{"class":744},"cement_pad",[728,1117,748],{"class":734},[728,1119,751],{"class":734},[728,1121,826],{"class":734},[728,1123,809],{"class":808},[728,1125,831],{"class":734},[728,1127,1129],{"class":730,"line":1128},25,[728,1130,791],{"emptyLinePlaceholder":790},[728,1132,1134,1136,1139,1141,1143,1145,1147],{"class":730,"line":1133},26,[728,1135,741],{"class":734},[728,1137,1138],{"class":744},"lithology",[728,1140,748],{"class":734},[728,1142,751],{"class":734},[728,1144,805],{"class":734},[728,1146,809],{"class":808},[728,1148,812],{"class":734},[728,1150,1152,1154,1157,1159,1161,1163,1165],{"class":730,"line":1151},27,[728,1153,741],{"class":734},[728,1155,1156],{"class":744},"fractures",[728,1158,748],{"class":734},[728,1160,751],{"class":734},[728,1162,805],{"class":734},[728,1164,809],{"class":808},[728,1166,812],{"class":734},[728,1168,1170,1172,1175,1177,1179,1181,1183],{"class":730,"line":1169},28,[728,1171,741],{"class":734},[728,1173,1174],{"class":744},"caves",[728,1176,748],{"class":734},[728,1178,751],{"class":734},[728,1180,805],{"class":734},[728,1182,809],{"class":808},[728,1184,812],{"class":734},[728,1186,1188],{"class":730,"line":1187},29,[728,1189,791],{"emptyLinePlaceholder":790},[728,1191,1193,1195,1198,1200,1202,1204,1206],{"class":730,"line":1192},30,[728,1194,741],{"class":734},[728,1196,1197],{"class":744},"hydrodynamic_events",[728,1199,748],{"class":734},[728,1201,751],{"class":734},[728,1203,805],{"class":734},[728,1205,809],{"class":808},[728,1207,812],{"class":734},[728,1209,1211,1213,1216,1218,1220,1222,1224],{"class":730,"line":1210},31,[728,1212,741],{"class":734},[728,1214,1215],{"class":744},"aquifer_analysis",[728,1217,748],{"class":734},[728,1219,751],{"class":734},[728,1221,805],{"class":734},[728,1223,809],{"class":808},[728,1225,812],{"class":734},[728,1227,1229,1231,1234,1236,1238,1240,1242],{"class":730,"line":1228},32,[728,1230,741],{"class":734},[728,1232,1233],{"class":744},"history_logs",[728,1235,748],{"class":734},[728,1237,751],{"class":734},[728,1239,805],{"class":734},[728,1241,809],{"class":808},[728,1243,812],{"class":734},[728,1245,1247],{"class":730,"line":1246},33,[728,1248,791],{"emptyLinePlaceholder":790},[728,1250,1252,1254,1257,1259,1261,1263,1265],{"class":730,"line":1251},34,[728,1253,741],{"class":734},[728,1255,1256],{"class":744},"attachments",[728,1258,748],{"class":734},[728,1260,751],{"class":734},[728,1262,805],{"class":734},[728,1264,809],{"class":808},[728,1266,812],{"class":734},[728,1268,1270,1272,1275,1277,1279,1281,1283],{"class":730,"line":1269},35,[728,1271,741],{"class":734},[728,1273,1274],{"class":744},"pump_installations",[728,1276,748],{"class":734},[728,1278,751],{"class":734},[728,1280,805],{"class":734},[728,1282,809],{"class":808},[728,1284,812],{"class":734},[728,1286,1288,1290,1293,1295,1297,1299,1301],{"class":730,"line":1287},36,[728,1289,741],{"class":734},[728,1291,1292],{"class":744},"permits",[728,1294,748],{"class":734},[728,1296,751],{"class":734},[728,1298,805],{"class":734},[728,1300,809],{"class":808},[728,1302,812],{"class":734},[728,1304,1306,1308,1311,1313,1315,1317,1319],{"class":730,"line":1305},37,[728,1307,741],{"class":734},[728,1309,1310],{"class":744},"meters",[728,1312,748],{"class":734},[728,1314,751],{"class":734},[728,1316,805],{"class":734},[728,1318,809],{"class":808},[728,1320,812],{"class":734},[728,1322,1324,1326,1329,1331,1333,1335,1337],{"class":730,"line":1323},38,[728,1325,741],{"class":734},[728,1327,1328],{"class":744},"production",[728,1330,748],{"class":734},[728,1332,751],{"class":734},[728,1334,805],{"class":734},[728,1336,809],{"class":808},[728,1338,812],{"class":734},[728,1340,1342,1344,1347,1349,1351,1353,1355],{"class":730,"line":1341},39,[728,1343,741],{"class":734},[728,1345,1346],{"class":744},"operating_regime",[728,1348,748],{"class":734},[728,1350,751],{"class":734},[728,1352,805],{"class":734},[728,1354,809],{"class":808},[728,1356,812],{"class":734},[728,1358,1360],{"class":730,"line":1359},40,[728,1361,791],{"emptyLinePlaceholder":790},[728,1363,1365,1367,1370,1372,1374,1376,1378],{"class":730,"line":1364},41,[728,1366,741],{"class":734},[728,1368,1369],{"class":744},"water_samples",[728,1371,748],{"class":734},[728,1373,751],{"class":734},[728,1375,805],{"class":734},[728,1377,809],{"class":808},[728,1379,1380],{"class":734},"]\n",[728,1382,1384],{"class":730,"line":1383},42,[728,1385,1386],{"class":734},"}\n",[1388,1389,116,1391],"h3",{"id":1390},"absent-values-since-v24",[118,1392,120],{},[21,1394,1395,1396,1399,1400,1402],{},"An optional field without a value is omitted, never written as ",[16,1397,1398],{},"null",". A ",[16,1401,1398],{}," in an optional field is malformed. Absent means unknown.",[21,1404,1405,1406,1408,1409,1412,1413,1415,1416,1419],{},"Readers accept ",[16,1407,1398],{}," in ",[16,1410,1411],{},"aquifer_analysis[].storativity"," only in files whose ",[16,1414,745],{}," is the integer ",[16,1417,1418],{},"2",", and treat it as absent.",[713,1421],{},[47,1423,126],{"id":1424},"versioning",[1426,1427,1428,1441],"table",{},[1429,1430,1431],"thead",{},[1432,1433,1434,1438],"tr",{},[1435,1436,1437],"th",{},"Version",[1435,1439,1440],{},"Description",[1442,1443,1444,1455,1464],"tbody",{},[1432,1445,1446,1452],{},[1447,1448,1449],"td",{},[16,1450,1451],{},"1",[1447,1453,1454],{},"Initial release — constructive and geologic data only",[1432,1456,1457,1461],{},[1447,1458,1459],{},[16,1460,1418],{},[1447,1462,1463],{},"Adds location, well_id (array), profiles, texture object, hydrodynamic_events, aquifer_analysis, history_logs, optional @context, *_precision fields, and extensibility conventions. Tightens unit semantics: all values are canonical SI, no per-file declaration.",[1432,1465,1466,1471],{},[1447,1467,1468],{},[16,1469,1470],{},"\"2.4\"",[1447,1472,1473,1474,1477,1478,1481,1482,1484],{},"Version written as the string ",[16,1475,1476],{},"\"M.m\""," (",[118,1479,1480],{},"since v2.4","). Read as v2; the integer ",[16,1483,1418],{}," means v2.0 to v2.3.",[21,1486,1487,1488,1491,1492,1495,1496,1498,1499,1502,1503,1491,1505,1507,1508,1510],{},"Minor revisions (",[16,1489,1490],{},"2.1",", ",[16,1493,1494],{},"2.3",", …) are additive. Up to v2.3 they did not change the ",[16,1497,745],{}," integer: a v2.3 document declares ",[16,1500,1501],{},"\"version\": 2",". A v2.0 parser reading a v2.1 document sees the v2.1 fields (",[16,1504,260],{},[16,1506,1097],{},") as unrecognized members without the ",[16,1509,71],{}," prefix. Per § Extensibility it MUST preserve them and MUST NOT reject the file, and it SHOULD emit a warning.",[21,1512,1513,1514,1491,1516,1491,1518,1491,1520,1491,1522,1491,1524,1491,1526,1491,1528,68,1531,1533,1534,1491,1537,1540,1541,1491,1544,1547,1548,1550,1551,1554],{},"The same rule applies to v2.3: a v2.0 or v2.1 parser reading a v2.3 document sees ",[16,1515,1256],{},[16,1517,1274],{},[16,1519,1292],{},[16,1521,1310],{},[16,1523,1328],{},[16,1525,1346],{},[16,1527,1369],{},[16,1529,1530],{},"hydrodynamic_events[].corrects",[16,1532,1233],{}," data links (",[16,1535,1536],{},"hydrodynamic_event_ids",[16,1538,1539],{},"sample_ids",") and category-specific fields (",[16,1542,1543],{},"maintenance",[16,1545,1546],{},"status_change",") and the nested ",[16,1549,1256],{}," arrays as unrecognized members. It MUST preserve them, MUST NOT reject the file, and SHOULD emit a warning. Such a parser does not know ",[16,1552,1553],{},"corrects",", so it may still count a retracted event; this is the expected degradation.",[21,1556,1557,1559,1560,1562,1563,1565,1566,1569,1570,1573,1574,1577,1578,1580,1581,1584],{},[118,1558,120],{}," The version is written as the string ",[16,1561,1476],{}," (for example ",[16,1564,1470],{},"). Versions are compared as two integers, never as text: ",[16,1567,1568],{},"\"2.10\""," is greater than ",[16,1571,1572],{},"\"2.9\"",". Patch levels (",[16,1575,1576],{},"\"2.4.1\"",") are not allowed. The integer ",[16,1579,1418],{}," means v2.0 to v2.3 with the revision unknown, and it remains valid for reading. There is no separate ",[16,1582,1583],{},"spec_version"," field.",[21,1586,1587,1590,1591,1594,1595,1597,1598,60,1600,1602],{},[24,1588,1589],{},"Intentional break."," A parser of ",[16,1592,1593],{},"@welldot\u002Fcore"," 0.4.0 or earlier rejects ",[16,1596,1470],{}," files because it only accepts the integers ",[16,1599,1451],{},[16,1601,1418],{},". This is the one intentional exception to the minor-revision compatibility rule above. Upgrade readers before writing v2.4 files.",[1388,1604,134],{"id":1605},"parser-version-handling",[21,1607,1608,1609,1611,1612,1614,1615,1617,1618,1620,1621,75],{},"The ",[16,1610,745],{}," field MUST be written by producers. It takes one of three forms: the integer ",[16,1613,1451],{},", the integer ",[16,1616,1418],{},", or a string ",[16,1619,1476],{}," matching ",[16,1622,1623],{},"^\\d+\\.\\d+$",[81,1625,1626,1644,1659,1670,1677,1684,1687],{},[84,1627,1628,1629,1631,1632,1634,1635,1491,1637,1491,1640,1643],{},"A ",[16,1630,745],{}," that is none of these forms (",[16,1633,758],{}," as a JSON number, ",[16,1636,1576],{},[16,1638,1639],{},"\"v2.4\"",[16,1641,1642],{},"\"2\"",") is malformed. A parser MUST reject the file with an error that names the value.",[84,1645,1646,1647,1649,1650,1477,1652,1491,1655,1658],{},"A major other than ",[16,1648,1451],{}," or ",[16,1651,1418],{},[16,1653,1654],{},"3",[16,1656,1657],{},"\"3.0\"",") is unsupported. A parser MUST reject the file with an error that names the value.",[84,1660,1661,1662,1477,1664,1666,1667,1669],{},"Any minor of major ",[16,1663,1418],{},[16,1665,1470],{},", a future ",[16,1668,1572],{},") is read as v2. Unknown members follow § Extensibility.",[84,1671,1672,1673,1676],{},"A v2 parser encountering ",[16,1674,1675],{},"version: 1"," MUST apply the v1-to-v2 normalizations listed in the changes section and treat the document as v2-equivalent for all subsequent processing.",[84,1678,1679,1680,1683],{},"A v1 parser encountering ",[16,1681,1682],{},"version: 2"," MUST reject the file with a clear error indicating an unsupported format version. v1 parsers MUST NOT attempt partial reads of v2 documents.",[84,1685,1686],{},"Either parser encountering an unrecognized integer version MUST reject the file with a clear error.",[84,1688,1689,1690,1692],{},"A file without a ",[16,1691,745],{}," field SHOULD be rejected. Parsers MAY emit a warning and attempt to read the file as v1 if all required v1 fields are present and no v2-specific blocks are detected, but this fallback behavior is implementation-specific and not guaranteed by the spec.",[21,1694,1695,1696,1698,1699,1491,1701,1491,1703,1491,1705,1491,1707,1491,1709,1491,1711,1491,1713,1491,1715,1491,1717,1491,1719,1491,1721,1723,1724,1726,1727,1729],{},"Files with ",[16,1697,1675],{}," MUST NOT contain any v2-only blocks (",[16,1700,1197],{},[16,1702,1215],{},[16,1704,1233],{},[16,1706,1256],{},[16,1708,1274],{},[16,1710,1292],{},[16,1712,1310],{},[16,1714,1328],{},[16,1716,1346],{},[16,1718,1369],{},[16,1720,67],{},[16,1722,59],{}," as array, ",[16,1725,63],{}," object, ",[16,1728,771],{},"). A v1 file containing such fields is malformed.",[713,1731],{},[47,1733,140],{"id":1734},"deprecation-policy",[21,1736,1608,1737,1739],{},[16,1738,18],{}," format evolves in two version dimensions:",[81,1741,1742,1754],{},[84,1743,1744,1477,1747,1491,1749,1491,1751,1753],{},[24,1745,1746],{},"Major versions",[16,1748,1451],{},[16,1750,1418],{},[16,1752,1654],{},", …): may remove deprecated fields and introduce breaking changes. Each major version has its own canonical JSON Schema URL.",[84,1755,1756,1759,1760,1491,1763,1765,1766,1769],{},[24,1757,1758],{},"Minor revisions"," within a major version (",[16,1761,1762],{},"2.0",[16,1764,1490],{},", …): additive only. Minor revisions may introduce new fields, new vocabulary values, and ",[24,1767,1768],{},"deprecation markers"," for existing fields. Minor revisions MUST NOT remove fields, change field semantics, or break round-trip compatibility for files conforming to earlier minor revisions of the same major version.",[1388,1771,148],{"id":1772},"field-lifecycle",[21,1774,1775],{},"A field moves through three states:",[1777,1778,1779,1785,1791],"ol",{},[84,1780,1781,1784],{},[24,1782,1783],{},"Active"," — defined and recommended by the current minor revision.",[84,1786,1787,1790],{},[24,1788,1789],{},"Deprecated"," — still defined and still valid, but flagged for removal in the next major version. Deprecation is announced in a minor revision (e.g. introduced in v2.0, deprecated in v2.1).",[84,1792,1793,1796],{},[24,1794,1795],{},"Removed"," — no longer defined. May only occur in a new major version (e.g. removed in v3.0).",[21,1798,1799],{},"Each deprecation announcement MUST include, in the spec text for the relevant field:",[81,1801,1802,1809,1815,1818],{},[84,1803,1804,1805,1808],{},"The minor revision in which the field was deprecated (e.g. ",[118,1806,1807],{},"\"Deprecated in v2.1\"",").",[84,1810,1811,1812,1808],{},"The major version in which the field will be removed (e.g. ",[118,1813,1814],{},"\"Will be removed in v3.0\"",[84,1816,1817],{},"The replacement field or pattern, when applicable.",[84,1819,1820],{},"A v2-to-vNext normalization rule that parsers for the next major version MUST implement to read files using the deprecated field.",[1388,1822,154],{"id":1823},"parser-behavior",[21,1825,1826],{},"Parsers conformant to the version that introduced a deprecation:",[81,1828,1829,1832,1835,1838],{},[84,1830,1831],{},"MUST accept the deprecated field as valid input.",[84,1833,1834],{},"MUST preserve the deprecated field on round-trip unless explicitly migrating the document to a newer version.",[84,1836,1837],{},"SHOULD emit a warning when encountering a deprecated field, naming the replacement.",[84,1839,1840],{},"MAY offer a migration mode that rewrites the field to its replacement in place. Migration mode MUST be opt-in (e.g. an explicit flag passed to the parser), not the default behavior of read operations.",[21,1842,1843],{},"Parsers for the major version after removal:",[81,1845,1846,1849],{},[84,1847,1848],{},"MUST apply the documented normalization when reading older files (e.g. a v3 parser reading a v2 file that used a v2-deprecated field).",[84,1850,1851,1852,1855],{},"MUST NOT accept the removed field name in files declaring the new major version (e.g. a file with ",[16,1853,1854],{},"version: 3"," containing a v2-deprecated field is malformed).",[1388,1857,160],{"id":1858},"vocabulary-value-promotion",[21,1860,1861,1862,1864,1865,1868,1869,1872],{},"When a vocabulary value previously available only with the ",[16,1863,71],{}," prefix is promoted to canonical (e.g. ",[16,1866,1867],{},"x-slug_test"," becomes ",[16,1870,1871],{},"slug_test","):",[81,1874,1875,1878,1881],{},[84,1876,1877],{},"The minor revision that performs the promotion MUST document both forms as equivalent.",[84,1879,1880],{},"Parsers from that revision onward MUST treat both forms as equivalent for the remainder of the major version.",[84,1882,1608,1883,1885],{},[16,1884,71],{}," prefixed form is implicitly deprecated upon promotion and will be removed in the next major version, following the standard field lifecycle.",[1388,1887,166],{"id":1888},"canonical-deprecation-registry",[21,1890,1891],{},"Each minor revision of this spec MUST include a \"Deprecations\" subsection in its changelog listing all fields and vocabulary values deprecated in that revision, with their replacement and removal timeline. The v2.0 release contains no deprecations.",[713,1893],{},[47,1895,172],{"id":1896},"top-level-fields",[1388,1898,180],{"id":1899},"core-identity",[1426,1901,1902,1917],{},[1429,1903,1904],{},[1432,1905,1906,1909,1912,1915],{},[1435,1907,1908],{},"Field",[1435,1910,1911],{},"Type",[1435,1913,1914],{},"Required",[1435,1916,1440],{},[1442,1918,1919,1936,1950,1964,1977,1993,2006],{},[1432,1920,1921,1925,1928,1931],{},[1447,1922,1923],{},[16,1924,745],{},[1447,1926,1927],{},"integer | string",[1447,1929,1930],{},"yes",[1447,1932,1933,1934,75],{},"Format version. v2.4 files write ",[16,1935,1470],{},[1432,1937,1938,1942,1945,1947],{},[1447,1939,1940],{},[16,1941,251],{},[1447,1943,1944],{},"string",[1447,1946,1930],{},[1447,1948,1949],{},"Construction method of the well. See vocabulary below.",[1432,1951,1952,1956,1958,1961],{},[1447,1953,1954],{},[16,1955,844],{},[1447,1957,1944],{},[1447,1959,1960],{},"no",[1447,1962,1963],{},"Well name or local identifier.",[1432,1965,1966,1970,1972,1974],{},[1447,1967,1968],{},[16,1969,901],{},[1447,1971,1944],{},[1447,1973,1960],{},[1447,1975,1976],{},"Name of the drilling company or individual.",[1432,1978,1979,1983,1985,1987],{},[1447,1980,1981],{},[16,1982,921],{},[1447,1984,1944],{},[1447,1986,1960],{},[1447,1988,1989,1990,1992],{},"ISO 8601 calendar date of well completion (",[16,1991,930],{},"). Date-only by design — time of day for construction completion is not meaningful at the precision the well registry cares about. Interpreted as the local civil date at the well site.",[1432,1994,1995,1999,2001,2003],{},[1447,1996,1997],{},[16,1998,942],{},[1447,2000,1944],{},[1447,2002,1960],{},[1447,2004,2005],{},"Free-text observations about the well.",[1432,2007,2008,2013,2016,2018],{},[1447,2009,2010],{},[16,2011,2012],{},"well_depth",[1447,2014,2015],{},"number",[1447,2017,1960],{},[1447,2019,2020,2021,2023],{},"The well's current usable depth in meters from ground level, as measured or reported. May be less than the deepest constructive element (see ",[16,2022,989],{},") due to siltation, debris, or partial backfill.",[1388,2025,186],{"id":2026},"v2-additions",[1426,2028,2029,2041],{},[1429,2030,2031],{},[1432,2032,2033,2035,2037,2039],{},[1435,2034,1908],{},[1435,2036,1911],{},[1435,2038,1914],{},[1435,2040,1440],{},[1442,2042,2043,2057,2073,2089],{},[1432,2044,2045,2049,2052,2054],{},[1447,2046,2047],{},[16,2048,771],{},[1447,2050,2051],{},"string | array | object",[1447,2053,1960],{},[1447,2055,2056],{},"JSON-LD context. Reserved field; see § JSON-LD Context.",[1432,2058,2059,2063,2068,2070],{},[1447,2060,2061],{},[16,2062,59],{},[1447,2064,2065],{},[16,2066,2067],{},"WellId[]",[1447,2069,1960],{},[1447,2071,2072],{},"Array of authority-scoped identifiers. See § well_id.",[1432,2074,2075,2079,2084,2086],{},[1447,2076,2077],{},[16,2078,63],{},[1447,2080,2081],{},[16,2082,2083],{},"Location",[1447,2085,1960],{},[1447,2087,2088],{},"Geographic position and elevation. See § location.",[1432,2090,2091,2095,2099,2101],{},[1447,2092,2093],{},[16,2094,67],{},[1447,2096,1944,2097],{},[728,2098],{},[1447,2100,1960],{},[1447,2102,2103],{},"Array of JSON Schema URLs declaring conformance to profiles. See § profiles.",[1388,2105,192],{"id":2106},"v21-additions",[1426,2108,2109,2121],{},[1429,2110,2111],{},[1432,2112,2113,2115,2117,2119],{},[1435,2114,1908],{},[1435,2116,1911],{},[1435,2118,1914],{},[1435,2120,1440],{},[1442,2122,2123,2138],{},[1432,2124,2125,2129,2133,2135],{},[1447,2126,2127],{},[16,2128,260],{},[1447,2130,1944,2131],{},[728,2132],{},[1447,2134,1960],{},[1447,2136,2137],{},"Intended use(s) of the well. See § well_purpose.",[1432,2139,2140,2144,2149,2151],{},[1447,2141,2142],{},[16,2143,1097],{},[1447,2145,2146],{},[16,2147,2148],{},"Centralizer[]",[1447,2150,1960],{},[1447,2152,2153],{},"Casing\u002Fscreen centralizers. See object-schemas.md § Centralizer.",[1388,2155,198],{"id":2156},"v23-additions",[1426,2158,2159,2171],{},[1429,2160,2161],{},[1432,2162,2163,2165,2167,2169],{},[1435,2164,1908],{},[1435,2166,1911],{},[1435,2168,1914],{},[1435,2170,1440],{},[1442,2172,2173,2189,2208,2227,2246,2264,2287],{},[1432,2174,2175,2179,2184,2186],{},[1447,2176,2177],{},[16,2178,1256],{},[1447,2180,2181],{},[16,2182,2183],{},"Attachment[]",[1447,2185,1960],{},[1447,2187,2188],{},"Documents about the well as a whole, not tied to any record. See object-schemas.md § Attachment.",[1432,2190,2191,2195,2200,2202],{},[1447,2192,2193],{},[16,2194,1274],{},[1447,2196,2197],{},[16,2198,2199],{},"PumpInstallation[]",[1447,2201,1960],{},[1447,2203,2204,2205,75],{},"Pump installation history (installation block). See object-schemas.md § ",[16,2206,2207],{},"pump_installations[]",[1432,2209,2210,2214,2219,2221],{},[1447,2211,2212],{},[16,2213,1292],{},[1447,2215,2216],{},[16,2217,2218],{},"Permit[]",[1447,2220,1960],{},[1447,2222,2223,2224,75],{},"Legal instruments governing abstraction (mutable record block). See object-schemas.md § ",[16,2225,2226],{},"permits[]",[1432,2228,2229,2233,2238,2240],{},[1447,2230,2231],{},[16,2232,1310],{},[1447,2234,2235],{},[16,2236,2237],{},"Meter[]",[1447,2239,1960],{},[1447,2241,2242,2243,75],{},"Totalizer (hidrômetro) installation history (installation block). See object-schemas.md § ",[16,2244,2245],{},"meters[]",[1432,2247,2248,2252,2257,2259],{},[1447,2249,2250],{},[16,2251,1328],{},[1447,2253,2254],{},[16,2255,2256],{},"ProductionEntry[]",[1447,2258,1960],{},[1447,2260,2261,2262,75],{},"Ledger of meter readings and declared volumes (ledger block). See object-schemas.md § ",[16,2263,390],{},[1432,2265,2266,2270,2275,2277],{},[1447,2267,2268],{},[16,2269,1346],{},[1447,2271,2272],{},[16,2273,2274],{},"OperatingRegime[]",[1447,2276,1960],{},[1447,2278,2279,2280,2283,2284,75],{},"Declared operating regimes, each in force from ",[16,2281,2282],{},"effective_from"," (mutable record block). See object-schemas.md § ",[16,2285,2286],{},"operating_regime[]",[1432,2288,2289,2293,2298,2300],{},[1447,2290,2291],{},[16,2292,1369],{},[1447,2294,2295],{},[16,2296,2297],{},"WaterSample[]",[1447,2299,1960],{},[1447,2301,2302],{},"Water samples and their field and laboratory results (ledger block). See water-quality.md.",[1388,2304,204,2306],{"id":2305},"block-kinds-since-v23",[118,2307,207],{},[21,2309,2310],{},"Every top-level array is one of three kinds. The kind decides how records are corrected.",[1426,2312,2313,2329],{},[1429,2314,2315],{},[1432,2316,2317,2320,2323,2326],{},[1435,2318,2319],{},"Kind",[1435,2321,2322],{},"Blocks",[1435,2324,2325],{},"Correction",[1435,2327,2328],{},"Edit tracking",[1442,2330,2331,2359,2380],{},[1432,2332,2333,2336,2344,2350],{},[1447,2334,2335],{},"Ledger",[1447,2337,2338,1491,2340,1491,2342],{},[16,2339,1197],{},[16,2341,1328],{},[16,2343,1369],{},[1447,2345,2346,2347,2349],{},"MAY be edited in place (NOT RECOMMENDED after export). ",[16,2348,1553],{}," is the recommended mechanism for measurement corrections.",[1447,2351,2352,2355,2356,2358],{},[16,2353,2354],{},"updated_at"," where the block defines it; a ",[16,2357,1553],{}," entry is the history of a correction.",[1432,2360,2361,2364,2372,2375],{},[1447,2362,2363],{},"Mutable record",[1447,2365,2366,1491,2368,1491,2370],{},[16,2367,1233],{},[16,2369,1292],{},[16,2371,1346],{},[1447,2373,2374],{},"Edit in place.",[1447,2376,2377,2379],{},[16,2378,2354],{}," (instant) on the record.",[1432,2381,2382,2385,2391,2393],{},[1447,2383,2384],{},"Installation",[1447,2386,2387,1491,2389],{},[16,2388,1274],{},[16,2390,1310],{},[1447,2392,2374],{},[1447,2394,2395,2379],{},[16,2396,2354],{},[21,2398,2399,2400,2402],{},"Constructive and geologic arrays describe the well as built and are edited in place. ",[16,2401,1215],{}," entries are interpretations: a new interpretation is a new entry, and earlier ones coexist.",[21,2404,2405,2408,2409,2411,2412,2414,2415,2417,2418,1649,2421,2424],{},[24,2406,2407],{},"Ledger corrections."," A ledger entry referenced by any ",[16,2410,1553],{}," field is excluded from every derivation but stays in the file. Chains are allowed (C corrects B, which corrected A); only the last uncorrected entry counts. A ",[16,2413,1553],{}," cycle is malformed and emits a warning. An ",[16,2416,1215],{}," whose ",[16,2419,2420],{},"source_event_ids",[16,2422,2423],{},"static_level_source_id"," points to a retracted event emits a warning naming both ids.",[21,2426,2427,2430,2431,2434,2435,2438],{},[24,2428,2429],{},"Installation pattern."," Installation blocks describe equipment present in the well for a period, with ",[16,2432,2433],{},"installed_at"," (required) and ",[16,2436,2437],{},"removed_at"," (absent means currently installed).",[81,2440,2441,2449,2455],{},[84,2442,2443,2445,2446,2448],{},[16,2444,2437],{}," earlier than or equal to ",[16,2447,2433],{}," is malformed and emits a warning.",[84,2450,2451,2452,75],{},"Each entry is one installation, not one piece of equipment. A unit pulled and reinstalled gets a new entry with the same ",[16,2453,2454],{},"serial",[84,2456,2457],{},"Overlapping open installations in the same block emit a warning, not an error. Standby pumps and secondary meters exist.",[1388,2459,213,2461],{"id":2460},"naming-rules-since-v23",[118,2462,207],{},[81,2464,2465,2468,2487,2503],{},[84,2466,2467],{},"No unit in a field name. Units are bound by the field-to-unit table (§ Units).",[84,2469,2470,2473,2474,2477,2478,1491,2481,1491,2484,1808],{},[16,2471,2472],{},"flow_rate"," is the canonical name for a volumetric rate; nameplate values use the ",[16,2475,2476],{},"rated_"," prefix (",[16,2479,2480],{},"rated_flow_rate",[16,2482,2483],{},"rated_head",[16,2485,2486],{},"rated_power",[84,2488,2489,2492,2493,2496,2497,2492,2500,75],{},[16,2490,2491],{},"from"," \u002F ",[16,2494,2495],{},"to"," are reserved for depth intervals in meters. Time intervals use ",[16,2498,2499],{},"period_start",[16,2501,2502],{},"period_end",[84,2504,2505,2506,2509,2510,2513,2514,60,2516,75],{},"References to another array end in ",[16,2507,2508],{},"_id"," (single) or ",[16,2511,2512],{},"_ids"," (array), plus the two relationship fields ",[16,2515,1553],{},[16,2517,2518],{},"supersedes",[21,2520,2521,27,2528,2530,2531,2533,2534,2536],{},[24,2522,2523,2525,2526,75],{},[16,2524,2518],{}," vs ",[16,2527,1553],{},[16,2529,2518],{}," expresses legal succession between two valid permits and appears only on ",[16,2532,1292],{},". It is not a correction mechanism: ",[16,2535,1553],{}," retracts ledger entries.",[713,2538],{},[47,2540,221],{"id":2541},"datetime-conventions",[21,2543,1608,2544,2546],{},[16,2545,18],{}," format distinguishes two kinds of temporal values:",[21,2548,2549,2552,2553,2555,2556,2558,2559,1491,2562,1491,2565,1491,2568,2571,2572,1491,2575,2571,2578,2581,2582,1491,2585,2588],{},[24,2550,2551],{},"Calendar dates"," — ",[16,2554,930],{},", no time, no offset. Used for ",[16,2557,921],{}," and, since v2.3, for legal documents: ",[16,2560,2561],{},"permits[].issued_at",[16,2563,2564],{},"valid_from",[16,2566,2567],{},"valid_until",[16,2569,2570],{},"renewal_requested_at","; ",[16,2573,2574],{},"permits[].conditions[].first_due",[16,2576,2577],{},"last_due",[16,2579,2580],{},"permits[].conditions[].fulfillments[].due_date","; and ",[16,2583,2584],{},"permits[].history[].date",[16,2586,2587],{},"due_date",". Interpreted as the local civil date at the well site. Calendar dates are sortable lexicographically and applications MUST NOT attempt to derive an instant from them.",[21,2590,2591,2594,2595,1649,2598,2601],{},[24,2592,2593],{},"Instants"," — RFC 3339 datetime strings with a mandatory UTC offset (e.g. ",[16,2596,2597],{},"2006-03-14T08:00:00-03:00",[16,2599,2600],{},"2006-03-14T11:00:00Z","). Used for all event, analysis, and log timestamps:",[81,2603,2604,2609,2614,2619,2624,2635,2650,2661,2681,2690],{},[84,2605,2606],{},[16,2607,2608],{},"hydrodynamic_events[].datetime",[84,2610,2611],{},[16,2612,2613],{},"aquifer_analysis[].datetime",[84,2615,2616],{},[16,2617,2618],{},"history_logs[].datetime",[84,2620,2621],{},[16,2622,2623],{},"history_logs[].updated_at",[84,2625,2626,1491,2629,1491,2631,27,2633],{},[16,2627,2628],{},"pump_installations[].installed_at",[16,2630,2437],{},[16,2632,2354],{},[118,2634,207],{},[84,2636,2637,1491,2640,1491,2643,1491,2646,27,2648],{},[16,2638,2639],{},"permits[].updated_at",[16,2641,2642],{},"permits[].history[].updated_at",[16,2644,2645],{},"permits[].conditions[].fulfillments[].datetime",[16,2647,2354],{},[118,2649,207],{},[84,2651,2652,1491,2655,1491,2657,27,2659],{},[16,2653,2654],{},"meters[].installed_at",[16,2656,2437],{},[16,2658,2354],{},[118,2660,207],{},[84,2662,2663,1477,2666,2669,2670,1491,2673,1477,2675,2678,2679],{},[16,2664,2665],{},"production[].datetime",[16,2667,2668],{},"meter_reading","); ",[16,2671,2672],{},"production[].period_start",[16,2674,2502],{},[16,2676,2677],{},"estimated_volume",") ",[118,2680,207],{},[84,2682,2683,1491,2686,27,2688],{},[16,2684,2685],{},"operating_regime[].effective_from",[16,2687,2354],{},[118,2689,207],{},[84,2691,2692,1491,2695,1491,2698,1491,2701,27,2704],{},[16,2693,2694],{},"water_samples[].datetime",[16,2696,2697],{},"laboratory.received_at",[16,2699,2700],{},"results[].analyzed_at",[16,2702,2703],{},"results[].validation.validated_at",[118,2705,207],{},[21,2707,2708,2709,2712,2713,2715,2716,27,2719,2721,2722,2725,2726,2728],{},"Validity and deadline checks compare calendar dates, never UTC instants. When an instant is compared with a calendar date — for example a condition fulfillment's ",[16,2710,2711],{},"datetime"," against its ",[16,2714,2587],{}," — the instant's local date is the instant converted to ",[16,2717,2718],{},"location.properties.timezone",[118,2720,120],{},". Without ",[16,2723,2724],{},"timezone",", it is the date part of the string, in the offset it carries; producers SHOULD then write such instants in the well site's local offset. A file without ",[16,2727,2724],{}," whose permits have condition fulfillments emits a warning.",[21,2730,2731,2732,1491,2735,1491,2738,2741],{},"Relative deadlines and recurrences are ISO 8601 date durations (",[16,2733,2734],{},"P90D",[16,2736,2737],{},"P6M",[16,2739,2740],{},"P1Y6M","); see object-schemas.md § Date duration.",[1388,2743,229,2745],{"id":2744},"instants-known-only-by-date-since-v23",[118,2746,207],{},[21,2748,2749,2750,2753,2754,751],{},"Laboratory reports often give only the date of receipt or analysis. Such an instant is written at 00:00 local time at the well site, and a sibling field named after it with the ",[16,2751,2752],{},"_resolution"," suffix is set to ",[16,2755,2756],{},"\"day\"",[719,2758,2760],{"className":721,"code":2759,"language":723,"meta":724,"style":724},"{ \"analyzed_at\": \"2026-09-17T00:00:00-03:00\", \"analyzed_at_resolution\": \"day\" }\n",[16,2761,2762],{"__ignoreMap":724},[728,2763,2764,2767,2769,2772,2774,2776,2778,2781,2783,2786,2788,2791,2793,2795,2797,2800,2802],{"class":730,"line":731},[728,2765,2766],{"class":734},"{",[728,2768,754],{"class":734},[728,2770,2771],{"class":744},"analyzed_at",[728,2773,748],{"class":734},[728,2775,751],{"class":734},[728,2777,754],{"class":734},[728,2779,2780],{"class":757},"2026-09-17T00:00:00-03:00",[728,2782,748],{"class":734},[728,2784,2785],{"class":734},",",[728,2787,754],{"class":734},[728,2789,2790],{"class":744},"analyzed_at_resolution",[728,2792,748],{"class":734},[728,2794,751],{"class":734},[728,2796,754],{"class":734},[728,2798,2799],{"class":757},"day",[728,2801,748],{"class":734},[728,2803,2804],{"class":734}," }\n",[81,2806,2807,2816,2824],{},[84,2808,2809,2810,2812,2813,2815],{},"Consumers MUST ignore the time of day when ",[16,2811,2752],{}," is ",[16,2814,2799],{},". Ordering, holding-time and deadline calculations on that field use day resolution.",[84,2817,2818,2820,2821,2823],{},[16,2819,2799],{}," is the only allowed value; any other value is malformed. An absent ",[16,2822,2752],{}," means the instant is exact.",[84,2825,2826,2827,60,2830,2833],{},"In v2.3 the convention applies to ",[16,2828,2829],{},"water_samples[].laboratory.received_at",[16,2831,2832],{},"water_samples[].results[].analyzed_at",". It is the candidate general convention for any instant known only by its date.",[21,2835,2836,2837,2840,2841,1491,2844,2847],{},"A datetime without an offset (naked ",[16,2838,2839],{},"YYYY-MM-DDTHH:MM:SS",") is malformed and parsers MUST reject it. Time zone abbreviations (",[16,2842,2843],{},"EST",[16,2845,2846],{},"BRT",") are not RFC 3339 and MUST NOT be used.",[1388,2849,237],{"id":2850},"ordering-and-ties",[21,2852,2853,2854,60,2856,2858],{},"Instants are ordered by absolute UTC instant, not by the lexical form of the string. The strings ",[16,2855,2597],{},[16,2857,2600],{}," represent the same instant and tie for ordering purposes.",[21,2860,2861,2862,2865,2866,2868,2869,2871],{},"When two events share the same instant, the optional ",[16,2863,2864],{},"sequence"," integer breaks the tie (lower values sort first). When two events share the same instant and no ",[16,2867,2864],{}," is provided, ordering is implementation-defined; producers SHOULD provide ",[16,2870,2864],{}," when authoring events with identical instants.",[713,2873],{},[47,2875,243],{"id":2876},"recommended-vocabularies",[21,2878,2879,2880,2883,2884,2886],{},"Many string fields are ",[24,2881,2882],{},"open",": they accept any value, but recommend a vocabulary for interoperability. The sections below list each one. Non-canonical values SHOULD use the ",[16,2885,71],{}," prefix, and tools MUST preserve unrecognized values and display them as-is.",[21,2888,2889,2890,2892,2893,1491,2896,1491,2899,2902,2903,2906,2907,60,2910,2913,2914,2917,2918,2921],{},"Every recommended vocabulary is also published as data by ",[16,2891,1593],{}," (e.g. ",[16,2894,2895],{},"PERMIT_TYPES",[16,2897,2898],{},"CONSTRUCTION_MATERIALS",[16,2900,2901],{},"SAMPLE_TYPES","), each entry carrying its ",[16,2904,2905],{},"value"," and display labels keyed by BCP 47 language tag (at least ",[16,2908,2909],{},"en",[16,2911,2912],{},"pt","). The field types use the ",[16,2915,2916],{},"OpenVocab\u003CT>"," pattern (",[16,2919,2920],{},"T | (string & {})","): the recommended values are typed while any other string stays valid. The Portuguese column in the tables below may be more descriptive than the short display label.",[47,2923,2925,252],{"id":2924},"well_type--recommended-values",[16,2926,251],{},[21,2928,1608,2929,2931,2932,2935],{},[16,2930,251],{}," field accepts any string and describes the well's ",[24,2933,2934],{},"construction method",". The values below are the recommended vocabulary for interoperability. Tools should treat unrecognized values gracefully.",[1426,2937,2938,2950],{},[1429,2939,2940],{},[1432,2941,2942,2945,2948],{},[1435,2943,2944],{},"Value",[1435,2946,2947],{},"Portuguese (BR)",[1435,2949,1440],{},[1442,2951,2952,2965,2978,2991,3004],{},[1432,2953,2954,2959,2962],{},[1447,2955,2956],{},[16,2957,2958],{},"tubular",[1447,2960,2961],{},"Tubular",[1447,2963,2964],{},"Conventional rotary or percussion drilled well",[1432,2966,2967,2972,2975],{},[1447,2968,2969],{},[16,2970,2971],{},"hand_dug",[1447,2973,2974],{},"Cacimba \u002F poço escavado",[1447,2976,2977],{},"Manually excavated well or cistern",[1432,2979,2980,2985,2988],{},[1447,2981,2982],{},[16,2983,2984],{},"horizontal",[1447,2986,2987],{},"Horizontal",[1447,2989,2990],{},"Horizontal or sub-horizontal well",[1432,2992,2993,2998,3001],{},[1447,2994,2995],{},[16,2996,2997],{},"infiltration_gallery",[1447,2999,3000],{},"Galeria de infiltração",[1447,3002,3003],{},"Horizontal subsurface infiltration gallery",[1432,3005,3006,3011,3014],{},[1447,3007,3008],{},[16,3009,3010],{},"artesian",[1447,3012,3013],{},"Artesiano",[1447,3015,3016,3019],{},[24,3017,3018],{},"Deprecated in v2.1"," — see below",[21,3021,3022,3023,3025,3026,1808],{},"Non-canonical values SHOULD use the ",[16,3024,71],{}," prefix (e.g. ",[16,3027,3028],{},"x-radial_collector",[21,3030,3031,3036,3037,3039,3040,3042,3043,3046,3047,3050],{},[24,3032,3033,3035],{},[16,3034,3010],{}," (deprecated in v2.1, removal in v3)."," Artesianism is a hydraulic condition, not a construction method: an artesian well is usually a ",[16,3038,2958],{}," well. A flowing artesian condition is recorded as a ",[16,3041,1197],{}," entry whose ",[16,3044,3045],{},"static_level"," is negative (see § Level sign convention), and applications derive the label from it. Parsers MUST continue to accept ",[16,3048,3049],{},"well_type: \"artesian\""," and MUST NOT rewrite it. Authoring tools SHOULD offer to migrate it to the actual construction method on edit.",[713,3052],{},[47,3054,3056,261,3058],{"id":3055},"well_purpose--recommended-values-since-v21",[16,3057,260],{},[118,3059,264],{},[21,3061,3062,3064,3065,3068,3069,3071,3072,3075,3076,3078],{},[16,3063,260],{}," is an optional array of strings giving the well's current intended use(s). A well may have more than one purpose (e.g. ",[16,3066,3067],{},"[\"production\", \"monitoring\"]","). Changes of use over time belong in ",[16,3070,1233],{}," (category ",[16,3073,3074],{},"event","). Non-canonical values SHOULD use the ",[16,3077,71],{}," prefix.",[1426,3080,3081,3091],{},[1429,3082,3083],{},[1432,3084,3085,3087,3089],{},[1435,3086,2944],{},[1435,3088,2947],{},[1435,3090,1440],{},[1442,3092,3093,3105,3118,3131,3144,3157,3170,3183],{},[1432,3094,3095,3099,3102],{},[1447,3096,3097],{},[16,3098,1328],{},[1447,3100,3101],{},"Produção \u002F captação",[1447,3103,3104],{},"Water supply abstraction",[1432,3106,3107,3112,3115],{},[1447,3108,3109],{},[16,3110,3111],{},"monitoring",[1447,3113,3114],{},"Poço de monitoramento",[1447,3116,3117],{},"Groundwater level and\u002For quality monitoring",[1432,3119,3120,3125,3128],{},[1447,3121,3122],{},[16,3123,3124],{},"piezometer",[1447,3126,3127],{},"Piezômetro",[1447,3129,3130],{},"Measures hydraulic head at a discrete depth interval",[1432,3132,3133,3138,3141],{},[1447,3134,3135],{},[16,3136,3137],{},"water_level_indicator",[1447,3139,3140],{},"INA — indicador de nível d'água",[1447,3142,3143],{},"Open standpipe for water table readings (typically geotechnical)",[1432,3145,3146,3151,3154],{},[1447,3147,3148],{},[16,3149,3150],{},"observation",[1447,3152,3153],{},"Poço de observação",[1447,3155,3156],{},"Observation well for aquifer tests on a nearby pumping well",[1432,3158,3159,3164,3167],{},[1447,3160,3161],{},[16,3162,3163],{},"exploration",[1447,3165,3166],{},"Pesquisa \u002F exploratório",[1447,3168,3169],{},"Investigation or test well",[1432,3171,3172,3177,3180],{},[1447,3173,3174],{},[16,3175,3176],{},"injection",[1447,3178,3179],{},"Injeção \u002F recarga",[1447,3181,3182],{},"Managed aquifer recharge or injection",[1432,3184,3185,3190,3193],{},[1447,3186,3187],{},[16,3188,3189],{},"dewatering",[1447,3191,3192],{},"Rebaixamento",[1447,3194,3195],{},"Construction or mining dewatering",[713,3197],{},[47,3199,3201,261,3203],{"id":3200},"bore_holedrilling_method--recommended-values-since-v23",[16,3202,272],{},[118,3204,207],{},[1426,3206,3207,3218],{},[1429,3208,3209],{},[1432,3210,3211,3213,3216],{},[1435,3212,2944],{},[1435,3214,3215],{},"English",[1435,3217,2947],{},[1442,3219,3220,3233,3246,3259,3272],{},[1432,3221,3222,3227,3230],{},[1447,3223,3224],{},[16,3225,3226],{},"rotary",[1447,3228,3229],{},"Rotary",[1447,3231,3232],{},"Rotativo",[1432,3234,3235,3240,3243],{},[1447,3236,3237],{},[16,3238,3239],{},"percussion",[1447,3241,3242],{},"Percussion",[1447,3244,3245],{},"Percussão",[1432,3247,3248,3253,3256],{},[1447,3249,3250],{},[16,3251,3252],{},"cable_tool",[1447,3254,3255],{},"Cable tool",[1447,3257,3258],{},"Percussão a cabo",[1432,3260,3261,3266,3269],{},[1447,3262,3263],{},[16,3264,3265],{},"auger",[1447,3267,3268],{},"Auger",[1447,3270,3271],{},"Trado",[1432,3273,3274,3279,3282],{},[1447,3275,3276],{},[16,3277,3278],{},"air_hammer",[1447,3280,3281],{},"Air hammer",[1447,3283,3284],{},"Martelo pneumático",[21,3286,3022,3287,3078],{},[16,3288,71],{},[47,3290,280,3292],{"id":3291},"construction-materials--recommended-values-since-v23",[118,3293,207],{},[21,3295,3296,3297,1491,3300,1491,3303,60,3306,75],{},"Shared by ",[16,3298,3299],{},"well_case[].type",[16,3301,3302],{},"well_screen[].type",[16,3304,3305],{},"reduction[].type",[16,3307,3308],{},"pump_installations[].riser_material",[1426,3310,3311,3321],{},[1429,3312,3313],{},[1432,3314,3315,3317,3319],{},[1435,3316,2944],{},[1435,3318,3215],{},[1435,3320,2947],{},[1442,3322,3323,3335,3348,3361,3374,3387],{},[1432,3324,3325,3330,3333],{},[1447,3326,3327],{},[16,3328,3329],{},"pvc",[1447,3331,3332],{},"PVC",[1447,3334,3332],{},[1432,3336,3337,3342,3345],{},[1447,3338,3339],{},[16,3340,3341],{},"geomechanical_pvc",[1447,3343,3344],{},"Geomechanical PVC",[1447,3346,3347],{},"PVC geomecânico",[1432,3349,3350,3355,3358],{},[1447,3351,3352],{},[16,3353,3354],{},"carbon_steel",[1447,3356,3357],{},"Carbon steel",[1447,3359,3360],{},"Aço carbono",[1432,3362,3363,3368,3371],{},[1447,3364,3365],{},[16,3366,3367],{},"galvanized_steel",[1447,3369,3370],{},"Galvanized steel",[1447,3372,3373],{},"Aço galvanizado",[1432,3375,3376,3381,3384],{},[1447,3377,3378],{},[16,3379,3380],{},"stainless_steel",[1447,3382,3383],{},"Stainless steel",[1447,3385,3386],{},"Aço inox",[1432,3388,3389,3394,3397],{},[1447,3390,3391],{},[16,3392,3393],{},"fiberglass",[1447,3395,3396],{},"Fiberglass",[1447,3398,3399],{},"Fibra de vidro",[21,3401,3022,3402,3078],{},[16,3403,71],{},[47,3405,3407,261,3409],{"id":3406},"well_screenslot_type--recommended-values-since-v23",[16,3408,290],{},[118,3410,207],{},[21,3412,3413,3414,1808],{},"The screen design, independent of its material (",[16,3415,3302],{},[1426,3417,3418,3428],{},[1429,3419,3420],{},[1432,3421,3422,3424,3426],{},[1435,3423,2944],{},[1435,3425,3215],{},[1435,3427,2947],{},[1442,3429,3430,3443,3456,3469,3482,3495],{},[1432,3431,3432,3437,3440],{},[1447,3433,3434],{},[16,3435,3436],{},"continuous_slot",[1447,3438,3439],{},"Continuous slot",[1447,3441,3442],{},"Espiralado (tipo Johnson)",[1432,3444,3445,3450,3453],{},[1447,3446,3447],{},[16,3448,3449],{},"slotted",[1447,3451,3452],{},"Slotted",[1447,3454,3455],{},"Ranhurado",[1432,3457,3458,3463,3466],{},[1447,3459,3460],{},[16,3461,3462],{},"bridge_slot",[1447,3464,3465],{},"Bridge slot",[1447,3467,3468],{},"Tipo ponte",[1432,3470,3471,3476,3479],{},[1447,3472,3473],{},[16,3474,3475],{},"louver",[1447,3477,3478],{},"Louver",[1447,3480,3481],{},"Veneziana",[1432,3483,3484,3489,3492],{},[1447,3485,3486],{},[16,3487,3488],{},"perforated",[1447,3490,3491],{},"Perforated",[1447,3493,3494],{},"Perfurado",[1432,3496,3497,3502,3505],{},[1447,3498,3499],{},[16,3500,3501],{},"nold",[1447,3503,3504],{},"Nold type",[1447,3506,3507],{},"Tipo Nold",[21,3509,3510,3512,3513,3515,3516,3075,3519,3078],{},[16,3511,3436],{}," is the wire-wrapped (wire-wound) screen. ",[16,3514,3501],{}," is the steel screen sold under that trade designation (",[118,3517,3518],{},"filtro tipo Nold",[16,3520,71],{},[47,3522,3524,261,3526],{"id":3523},"centralizerstype--recommended-values-since-v21",[16,3525,300],{},[118,3527,264],{},[1426,3529,3530,3540],{},[1429,3531,3532],{},[1432,3533,3534,3536,3538],{},[1435,3535,2944],{},[1435,3537,3215],{},[1435,3539,2947],{},[1442,3541,3542,3555,3568,3581,3594,3604,3614],{},[1432,3543,3544,3549,3552],{},[1447,3545,3546],{},[16,3547,3548],{},"spring_bow",[1447,3550,3551],{},"Spring bow",[1447,3553,3554],{},"Mola (spring bow)",[1432,3556,3557,3562,3565],{},[1447,3558,3559],{},[16,3560,3561],{},"rigid",[1447,3563,3564],{},"Rigid",[1447,3566,3567],{},"Rígido",[1432,3569,3570,3575,3578],{},[1447,3571,3572],{},[16,3573,3574],{},"semi_rigid",[1447,3576,3577],{},"Semi-rigid",[1447,3579,3580],{},"Semirrígido",[1432,3582,3583,3588,3591],{},[1447,3584,3585],{},[16,3586,3587],{},"polymer",[1447,3589,3590],{},"Polymer",[1447,3592,3593],{},"Polimérico",[1432,3595,3596,3600,3602],{},[1447,3597,3598],{},[16,3599,3354],{},[1447,3601,3357],{},[1447,3603,3360],{},[1432,3605,3606,3610,3612],{},[1447,3607,3608],{},[16,3609,3367],{},[1447,3611,3370],{},[1447,3613,3373],{},[1432,3615,3616,3620,3622],{},[1447,3617,3618],{},[16,3619,3380],{},[1447,3621,3383],{},[1447,3623,3386],{},[21,3625,3626,3627,3078],{},"The steel values name rigid centralizers by their material. Non-canonical values SHOULD use the ",[16,3628,71],{},[47,3630,3632,261,3634],{"id":3631},"cement_padtype--recommended-values-since-v23",[16,3633,310],{},[118,3635,207],{},[1426,3637,3638,3648],{},[1429,3639,3640],{},[1432,3641,3642,3644,3646],{},[1435,3643,2944],{},[1435,3645,3215],{},[1435,3647,2947],{},[1442,3649,3650,3663,3676,3689],{},[1432,3651,3652,3657,3660],{},[1447,3653,3654],{},[16,3655,3656],{},"concrete",[1447,3658,3659],{},"Concrete",[1447,3661,3662],{},"Concreto",[1432,3664,3665,3670,3673],{},[1447,3666,3667],{},[16,3668,3669],{},"reinforced_concrete",[1447,3671,3672],{},"Reinforced concrete",[1447,3674,3675],{},"Concreto armado",[1432,3677,3678,3683,3686],{},[1447,3679,3680],{},[16,3681,3682],{},"cement",[1447,3684,3685],{},"Cement",[1447,3687,3688],{},"Cimento",[1432,3690,3691,3696,3699],{},[1447,3692,3693],{},[16,3694,3695],{},"mortar",[1447,3697,3698],{},"Mortar",[1447,3700,3701],{},"Argamassa",[21,3703,3704,3707],{},[16,3705,3706],{},"type"," describes the pad material; other free text (e.g. a shape) remains valid.",[713,3709],{},[47,3711,3713,261,3715],{"id":3712},"pump_installationstype--recommended-values-since-v23",[16,3714,320],{},[118,3716,207],{},[1426,3718,3719,3729],{},[1429,3720,3721],{},[1432,3722,3723,3725,3727],{},[1435,3724,2944],{},[1435,3726,2947],{},[1435,3728,1440],{},[1442,3730,3731,3744,3757,3770,3783,3795],{},[1432,3732,3733,3738,3741],{},[1447,3734,3735],{},[16,3736,3737],{},"submersible",[1447,3739,3740],{},"Bomba submersa",[1447,3742,3743],{},"Electric submersible pump.",[1432,3745,3746,3751,3754],{},[1447,3747,3748],{},[16,3749,3750],{},"vertical_turbine",[1447,3752,3753],{},"Bomba de eixo vertical",[1447,3755,3756],{},"Surface motor with line shaft.",[1432,3758,3759,3764,3767],{},[1447,3760,3761],{},[16,3762,3763],{},"jet",[1447,3765,3766],{},"Bomba injetora",[1447,3768,3769],{},"Surface jet pump.",[1432,3771,3772,3777,3780],{},[1447,3773,3774],{},[16,3775,3776],{},"progressive_cavity",[1447,3778,3779],{},"Bomba helicoidal",[1447,3781,3782],{},"Progressive cavity pump, common with solar power.",[1432,3784,3785,3790,3793],{},[1447,3786,3787],{},[16,3788,3789],{},"hand_pump",[1447,3791,3792],{},"Bomba manual",[1447,3794],{},[1432,3796,3797,3802,3805],{},[1447,3798,3799],{},[16,3800,3801],{},"compressor_airlift",[1447,3803,3804],{},"Compressor (air-lift)",[1447,3806,3807],{},"Permanent airlift production.",[21,3809,3810,3811,3814,3815,3817,3818,3078],{},"Solar is a ",[16,3812,3813],{},"power_source",", never a ",[16,3816,3706],{},". Non-canonical values SHOULD use the ",[16,3819,71],{},[47,3821,3823,261,3825],{"id":3822},"pump_installationspower_source--recommended-values-since-v23",[16,3824,330],{},[118,3826,207],{},[1426,3828,3829,3837],{},[1429,3830,3831],{},[1432,3832,3833,3835],{},[1435,3834,2944],{},[1435,3836,2947],{},[1442,3838,3839,3849,3859,3869],{},[1432,3840,3841,3846],{},[1447,3842,3843],{},[16,3844,3845],{},"grid",[1447,3847,3848],{},"Rede elétrica",[1432,3850,3851,3856],{},[1447,3852,3853],{},[16,3854,3855],{},"solar",[1447,3857,3858],{},"Solar (fotovoltaico)",[1432,3860,3861,3866],{},[1447,3862,3863],{},[16,3864,3865],{},"diesel",[1447,3867,3868],{},"Gerador a diesel",[1432,3870,3871,3876],{},[1447,3872,3873],{},[16,3874,3875],{},"hybrid",[1447,3877,3878],{},"Híbrido",[47,3880,3882,261,3884],{"id":3881},"permitstype--recommended-values-since-v23",[16,3883,340],{},[118,3885,207],{},[1426,3887,3888,3898],{},[1429,3889,3890],{},[1432,3891,3892,3894,3896],{},[1435,3893,2944],{},[1435,3895,2947],{},[1435,3897,1440],{},[1442,3899,3900,3913,3926,3939,3952,3965],{},[1432,3901,3902,3907,3910],{},[1447,3903,3904],{},[16,3905,3906],{},"abstraction_permit",[1447,3908,3909],{},"Outorga de direito de uso",[1447,3911,3912],{},"Grant to abstract groundwater.",[1432,3914,3915,3920,3923],{},[1447,3916,3917],{},[16,3918,3919],{},"preliminary_permit",[1447,3921,3922],{},"Outorga prévia \u002F declaração de reserva",[1447,3924,3925],{},"Permission before drilling.",[1432,3927,3928,3933,3936],{},[1447,3929,3930],{},[16,3931,3932],{},"exemption",[1447,3934,3935],{},"Dispensa \u002F uso insignificante",[1447,3937,3938],{},"Formal exemption for small users.",[1432,3940,3941,3946,3949],{},[1447,3942,3943],{},[16,3944,3945],{},"registration",[1447,3947,3948],{},"Cadastro (e.g. CNARH)",[1447,3950,3951],{},"Registration without a grant.",[1432,3953,3954,3959,3962],{},[1447,3955,3956],{},[16,3957,3958],{},"dewatering_permit",[1447,3960,3961],{},"Outorga para rebaixamento",[1447,3963,3964],{},"Mining and construction dewatering.",[1432,3966,3967,3972,3975],{},[1447,3968,3969],{},[16,3970,3971],{},"drilling_permit",[1447,3973,3974],{},"Autorização de perfuração",[1447,3976,3977],{},"Authorization to drill the well.",[21,3979,3980,3983,3984,3986,3987,3078],{},[16,3981,3982],{},"renewal"," is not a type: a renewal is a new permit of the same type whose ",[16,3985,2518],{}," points to the previous one. Non-canonical values SHOULD use the ",[16,3988,71],{},[47,3990,3992,261,3994],{"id":3991},"permitswater_use--recommended-values-since-v23",[16,3993,350],{},[118,3995,207],{},[1426,3997,3998,4006],{},[1429,3999,4000],{},[1432,4001,4002,4004],{},[1435,4003,2944],{},[1435,4005,2947],{},[1442,4007,4008,4018,4028,4038,4048,4058],{},[1432,4009,4010,4015],{},[1447,4011,4012],{},[16,4013,4014],{},"human_supply",[1447,4016,4017],{},"Abastecimento público \u002F consumo humano",[1432,4019,4020,4025],{},[1447,4021,4022],{},[16,4023,4024],{},"industrial",[1447,4026,4027],{},"Industrial",[1432,4029,4030,4035],{},[1447,4031,4032],{},[16,4033,4034],{},"mining",[1447,4036,4037],{},"Mineração",[1432,4039,4040,4045],{},[1447,4041,4042],{},[16,4043,4044],{},"irrigation",[1447,4046,4047],{},"Irrigação",[1432,4049,4050,4055],{},[1447,4051,4052],{},[16,4053,4054],{},"livestock",[1447,4056,4057],{},"Dessedentação animal",[1432,4059,4060,4065],{},[1447,4061,4062],{},[16,4063,4064],{},"commercial",[1447,4066,4067],{},"Comercial \u002F serviços",[21,4069,4070,4073,4074,4076],{},[16,4071,4072],{},"water_use"," describes what the abstracted water is for; ",[16,4075,260],{}," describes the well's role.",[47,4078,4080,261,4082],{"id":4079},"permitsconditionscategory--recommended-values-since-v23",[16,4081,360],{},[118,4083,207],{},[1426,4085,4086,4097],{},[1429,4087,4088],{},[1432,4089,4090,4092,4094],{},[1435,4091,2944],{},[1435,4093,2947],{},[1435,4095,4096],{},"Covers",[1442,4098,4099,4111,4124,4137,4150,4163],{},[1432,4100,4101,4105,4108],{},[1447,4102,4103],{},[16,4104,3111],{},[1447,4106,4107],{},"Monitoramento",[1447,4109,4110],{},"Water level, flow, abstracted volume and water quality monitoring\u002Fsampling",[1432,4112,4113,4118,4121],{},[1447,4114,4115],{},[16,4116,4117],{},"reporting",[1447,4119,4120],{},"Relatórios e declarações",[1447,4122,4123],{},"Periodic reports and volume\u002Fflow declarations submitted to the authority",[1432,4125,4126,4131,4134],{},[1447,4127,4128],{},[16,4129,4130],{},"equipment_installation",[1447,4132,4133],{},"Instalação de equipamentos",[1447,4135,4136],{},"Meters (hidrômetro), level gauges, sampling taps, telemetry",[1432,4138,4139,4144,4147],{},[1447,4140,4141],{},[16,4142,4143],{},"well_protection",[1447,4145,4146],{},"Proteção do poço",[1447,4148,4149],{},"Sanitary slab, seal, protection perimeter, wellhead closure",[1432,4151,4152,4157,4160],{},[1447,4153,4154],{},[16,4155,4156],{},"environmental",[1447,4158,4159],{},"Ambiental",[1447,4161,4162],{},"Environmental measures, compensation, licensing of the activity",[1432,4164,4165,4170,4173],{},[1447,4166,4167],{},[16,4168,4169],{},"legal",[1447,4171,4172],{},"Legal \u002F administrativo",[1447,4174,4175],{},"Renewal request, fees, registrations, document submissions",[21,4177,3022,4178,3078],{},[16,4179,71],{},[47,4181,4183,261,4185],{"id":4182},"permitshistorytype--recommended-values-since-v23",[16,4184,370],{},[118,4186,207],{},[1426,4188,4189,4197],{},[1429,4190,4191],{},[1432,4192,4193,4195],{},[1435,4194,2944],{},[1435,4196,2947],{},[1442,4198,4199,4209,4219,4229,4239,4249,4259],{},[1432,4200,4201,4206],{},[1447,4202,4203],{},[16,4204,4205],{},"filing",[1447,4207,4208],{},"Protocolo \u002F requerimento",[1432,4210,4211,4216],{},[1447,4212,4213],{},[16,4214,4215],{},"process",[1447,4217,4218],{},"Andamento do processo \u002F despacho",[1432,4220,4221,4226],{},[1447,4222,4223],{},[16,4224,4225],{},"notification",[1447,4227,4228],{},"Notificação \u002F ofício",[1432,4230,4231,4236],{},[1447,4232,4233],{},[16,4234,4235],{},"fee",[1447,4237,4238],{},"Taxa \u002F emolumento",[1432,4240,4241,4246],{},[1447,4242,4243],{},[16,4244,4245],{},"inspection",[1447,4247,4248],{},"Vistoria",[1432,4250,4251,4256],{},[1447,4252,4253],{},[16,4254,4255],{},"decision",[1447,4257,4258],{},"Decisão \u002F publicação",[1432,4260,4261,4265],{},[1447,4262,4263],{},[16,4264,3982],{},[1447,4266,4267],{},"Renovação",[21,4269,3022,4270,4272,4273,4276,4277,4279],{},[16,4271,71],{}," prefix. The administrative ",[16,4274,4275],{},"status"," of a permit is a closed vocabulary; see object-schemas.md § ",[16,4278,2226],{}," — Administrative status.",[47,4281,4283,261,4285],{"id":4282},"meterstype--recommended-values-since-v23",[16,4284,380],{},[118,4286,207],{},[1426,4288,4289,4297],{},[1429,4290,4291],{},[1432,4292,4293,4295],{},[1435,4294,2944],{},[1435,4296,2947],{},[1442,4298,4299,4309,4319],{},[1432,4300,4301,4306],{},[1447,4302,4303],{},[16,4304,4305],{},"mechanical",[1447,4307,4308],{},"Hidrômetro mecânico",[1432,4310,4311,4316],{},[1447,4312,4313],{},[16,4314,4315],{},"electromagnetic",[1447,4317,4318],{},"Medidor eletromagnético",[1432,4320,4321,4326],{},[1447,4322,4323],{},[16,4324,4325],{},"ultrasonic",[1447,4327,4328],{},"Medidor ultrassônico",[21,4330,3022,4331,3078],{},[16,4332,71],{},[47,4334,4336,261,4338],{"id":4335},"production--recommended-values-since-v23",[16,4337,390],{},[118,4339,207],{},[21,4341,4342,4346,4347,4349,4350,4352,4353,4355],{},[24,4343,4344],{},[16,4345,3706],{}," — the entry discriminator: ",[16,4348,2668],{}," (a totalizer register value) or ",[16,4351,2677],{}," (a volume estimated for a period, without a meter). Non-canonical entry types SHOULD use the ",[16,4354,71],{}," prefix; parsers preserve them and exclude them from volume derivations.",[21,4357,4358,1477,4363,1872],{},[24,4359,4360],{},[16,4361,4362],{},"source",[16,4364,2668],{},[1426,4366,4367,4375],{},[1429,4368,4369],{},[1432,4370,4371,4373],{},[1435,4372,2944],{},[1435,4374,2947],{},[1442,4376,4377,4387],{},[1432,4378,4379,4384],{},[1447,4380,4381],{},[16,4382,4383],{},"manual",[1447,4385,4386],{},"Leitura manual",[1432,4388,4389,4394],{},[1447,4390,4391],{},[16,4392,4393],{},"telemetry",[1447,4395,4396],{},"Telemetria",[21,4398,4399,1477,4404,4406],{},[24,4400,4401],{},[16,4402,4403],{},"method",[16,4405,2677],{},") — the basis of the estimate. Descriptive only: it never changes how the volume is counted.",[1426,4408,4409,4419],{},[1429,4410,4411],{},[1432,4412,4413,4415,4417],{},[1435,4414,2944],{},[1435,4416,2947],{},[1435,4418,1440],{},[1442,4420,4421,4434,4447],{},[1432,4422,4423,4428,4431],{},[1447,4424,4425],{},[16,4426,4427],{},"flow_time",[1447,4429,4430],{},"Vazão × tempo de operação",[1447,4432,4433],{},"Flow rate times operating time (hour meter, operating regime).",[1432,4435,4436,4441,4444],{},[1447,4437,4438],{},[16,4439,4440],{},"energy",[1447,4442,4443],{},"Consumo de energia",[1447,4445,4446],{},"Derived from the pump's energy consumption.",[1432,4448,4449,4454,4457],{},[1447,4450,4451],{},[16,4452,4453],{},"user_statement",[1447,4455,4456],{},"Informado pelo usuário",[1447,4458,4459],{},"Stated by the owner or operator, without a documented calculation.",[47,4461,4463,261,4465],{"id":4462},"water_samples--recommended-values-since-v23",[16,4464,400],{},[118,4466,207],{},[21,4468,4469,4470,1491,4473,1491,4476,60,4479,4482,4483,4485],{},"Recommended values for ",[16,4471,4472],{},"sample_type",[16,4474,4475],{},"sampling_method",[16,4477,4478],{},"sampling_point.type",[16,4480,4481],{},"sampling_point.device"," are listed in ",[29,4484,45],{"href":44}," § Recommended values.",[47,4487,4489,252],{"id":4488},"hydrodynamic_eventsmeasurement_method--recommended-values",[16,4490,410],{},[21,4492,4493,4494,60,4497,27,4500,4502],{},"Used by ",[16,4495,4496],{},"spot_measurement",[16,4498,4499],{},"logger_series",[118,4501,120],{}," events.",[1426,4504,4505,4515],{},[1429,4506,4507],{},[1432,4508,4509,4511,4513],{},[1435,4510,2944],{},[1435,4512,3215],{},[1435,4514,2947],{},[1442,4516,4517,4530,4543,4556],{},[1432,4518,4519,4524,4527],{},[1447,4520,4521],{},[16,4522,4523],{},"electric_probe",[1447,4525,4526],{},"Electric probe",[1447,4528,4529],{},"Sonda elétrica",[1432,4531,4532,4537,4540],{},[1447,4533,4534],{},[16,4535,4536],{},"pressure_transducer",[1447,4538,4539],{},"Pressure transducer",[1447,4541,4542],{},"Transdutor de pressão",[1432,4544,4545,4550,4553],{},[1447,4546,4547],{},[16,4548,4549],{},"air_line",[1447,4551,4552],{},"Air line",[1447,4554,4555],{},"Linha de ar",[1432,4557,4558,4563,4566],{},[1447,4559,4560],{},[16,4561,4562],{},"tape",[1447,4564,4565],{},"Tape",[1447,4567,4568],{},"Trena",[21,4570,3022,4571,3078],{},[16,4572,71],{},[47,4574,4576,252],{"id":4575},"aquifer_analysismethod--recommended-values",[16,4577,418],{},[1426,4579,4580,4590],{},[1429,4581,4582],{},[1432,4583,4584,4586,4588],{},[1435,4585,2944],{},[1435,4587,3215],{},[1435,4589,2947],{},[1442,4591,4592,4604,4616,4628,4640,4652,4664],{},[1432,4593,4594,4599,4602],{},[1447,4595,4596],{},[16,4597,4598],{},"cooper_jacob",[1447,4600,4601],{},"Cooper-Jacob",[1447,4603,4601],{},[1432,4605,4606,4611,4614],{},[1447,4607,4608],{},[16,4609,4610],{},"theis",[1447,4612,4613],{},"Theis",[1447,4615,4613],{},[1432,4617,4618,4623,4626],{},[1447,4619,4620],{},[16,4621,4622],{},"neuman",[1447,4624,4625],{},"Neuman",[1447,4627,4625],{},[1432,4629,4630,4635,4638],{},[1447,4631,4632],{},[16,4633,4634],{},"hantush",[1447,4636,4637],{},"Hantush",[1447,4639,4637],{},[1432,4641,4642,4647,4650],{},[1447,4643,4644],{},[16,4645,4646],{},"birsoy_summers",[1447,4648,4649],{},"Birsoy-Summers",[1447,4651,4649],{},[1432,4653,4654,4659,4662],{},[1447,4655,4656],{},[16,4657,4658],{},"eden_hazel",[1447,4660,4661],{},"Eden-Hazel",[1447,4663,4661],{},[1432,4665,4666,4671,4674],{},[1447,4667,4668],{},[16,4669,4670],{},"visual_inspection",[1447,4672,4673],{},"Visual inspection",[1447,4675,4676],{},"Inspeção visual",[21,4678,3022,4679,3078],{},[16,4680,71],{},[47,4682,4684,252],{"id":4683},"history_logscategory--recommended-values",[16,4685,426],{},[1426,4687,4688,4699],{},[1429,4689,4690],{},[1432,4691,4692,4694,4696],{},[1435,4693,2944],{},[1435,4695,2947],{},[1435,4697,4698],{},"Category-specific fields",[1442,4700,4701,4723,4735,4747,4758],{},[1432,4702,4703,4707,4710],{},[1447,4704,4705],{},[16,4706,1543],{},[1447,4708,4709],{},"Manutenção",[1447,4711,4712,1491,4715,1491,4718,27,4721],{},[16,4713,4714],{},"maintenance_type",[16,4716,4717],{},"pump_installation_id",[16,4719,4720],{},"meter_id",[118,4722,207],{},[1432,4724,4725,4729,4732],{},[1447,4726,4727],{},[16,4728,4245],{},[1447,4730,4731],{},"Inspeção",[1447,4733,4734],{},"—",[1432,4736,4737,4742,4745],{},[1447,4738,4739],{},[16,4740,4741],{},"incident",[1447,4743,4744],{},"Incidente",[1447,4746,4734],{},[1432,4748,4749,4753,4756],{},[1447,4750,4751],{},[16,4752,3074],{},[1447,4754,4755],{},"Evento",[1447,4757,4734],{},[1432,4759,4760,4764,4767],{},[1447,4761,4762],{},[16,4763,1546],{},[1447,4765,4766],{},"Mudança de situação",[1447,4768,4769,27,4771],{},[16,4770,4275],{},[118,4772,207],{},[21,4774,4775,4776,4779,4780,3078],{},"Descriptions are in object-schemas.md § ",[16,4777,4778],{},"history_logs[]",". Category-specific fields MUST be absent on entries of other categories; their presence emits a warning. Non-canonical values SHOULD use the ",[16,4781,71],{},[47,4783,4785,252],{"id":4784},"history_logsseverity--recommended-values",[16,4786,434],{},[1426,4788,4789,4799],{},[1429,4790,4791],{},[1432,4792,4793,4795,4797],{},[1435,4794,2944],{},[1435,4796,3215],{},[1435,4798,2947],{},[1442,4800,4801,4814,4827,4840],{},[1432,4802,4803,4808,4811],{},[1447,4804,4805],{},[16,4806,4807],{},"low",[1447,4809,4810],{},"Low",[1447,4812,4813],{},"Baixa",[1432,4815,4816,4821,4824],{},[1447,4817,4818],{},[16,4819,4820],{},"medium",[1447,4822,4823],{},"Medium",[1447,4825,4826],{},"Média",[1432,4828,4829,4834,4837],{},[1447,4830,4831],{},[16,4832,4833],{},"high",[1447,4835,4836],{},"High",[1447,4838,4839],{},"Alta",[1432,4841,4842,4847,4850],{},[1447,4843,4844],{},[16,4845,4846],{},"critical",[1447,4848,4849],{},"Critical",[1447,4851,4852],{},"Crítica",[21,4854,3022,4855,3078],{},[16,4856,71],{},[47,4858,4860,261,4862],{"id":4859},"history_logsmaintenance_type--recommended-values-since-v23",[16,4861,442],{},[118,4863,207],{},[1426,4865,4866,4874],{},[1429,4867,4868],{},[1432,4869,4870,4872],{},[1435,4871,2944],{},[1435,4873,2947],{},[1442,4875,4876,4884,4894,4904,4914,4924,4934,4944,4954,4964],{},[1432,4877,4878,4882],{},[1447,4879,4880],{},[16,4881,4245],{},[1447,4883,4731],{},[1432,4885,4886,4891],{},[1447,4887,4888],{},[16,4889,4890],{},"cleaning",[1447,4892,4893],{},"Limpeza",[1432,4895,4896,4901],{},[1447,4897,4898],{},[16,4899,4900],{},"redevelopment",[1447,4902,4903],{},"Redesenvolvimento",[1432,4905,4906,4911],{},[1447,4907,4908],{},[16,4909,4910],{},"disinfection",[1447,4912,4913],{},"Desinfecção",[1432,4915,4916,4921],{},[1447,4917,4918],{},[16,4919,4920],{},"pump_service",[1447,4922,4923],{},"Manutenção da bomba",[1432,4925,4926,4931],{},[1447,4927,4928],{},[16,4929,4930],{},"meter_calibration",[1447,4932,4933],{},"Aferição do hidrômetro",[1432,4935,4936,4941],{},[1447,4937,4938],{},[16,4939,4940],{},"video_inspection",[1447,4942,4943],{},"Filmagem \u002F perfilagem ótica",[1432,4945,4946,4951],{},[1447,4947,4948],{},[16,4949,4950],{},"level_measurement",[1447,4952,4953],{},"Medição de nível",[1432,4955,4956,4961],{},[1447,4957,4958],{},[16,4959,4960],{},"pump_test",[1447,4962,4963],{},"Teste de bombeamento",[1432,4965,4966,4971],{},[1447,4967,4968],{},[16,4969,4970],{},"water_sampling",[1447,4972,4973],{},"Coleta de água",[21,4975,3022,4976,3078],{},[16,4977,71],{},[47,4979,4981,453,4983],{"id":4980},"history_logsstatus--allowed-values-since-v23",[16,4982,452],{},[118,4984,207],{},[21,4986,4987,4988,4990,4991,4994,4995,4997,4998,5000],{},"Used by entries of category ",[16,4989,1546],{},". This is a ",[24,4992,4993],{},"closed vocabulary",": ",[16,4996,4275],{}," MUST be one of the five values below. Any other value, including an ",[16,4999,71],{}," value, is a schema error and the file is rejected.",[1426,5002,5003,5014],{},[1429,5004,5005],{},[1432,5006,5007,5009,5011],{},[1435,5008,2944],{},[1435,5010,2947],{},[1435,5012,5013],{},"Semantics",[1442,5015,5016,5029,5041,5054,5067],{},[1432,5017,5018,5023,5026],{},[1447,5019,5020],{},[16,5021,5022],{},"active",[1447,5024,5025],{},"Ativo \u002F em operação",[1447,5027,5028],{},"Normal operation.",[1432,5030,5031,5035,5038],{},[1447,5032,5033],{},[16,5034,1543],{},[1447,5036,5037],{},"Em manutenção",[1447,5039,5040],{},"Temporarily out of service for work.",[1432,5042,5043,5048,5051],{},[1447,5044,5045],{},[16,5046,5047],{},"inactive",[1447,5049,5050],{},"Paralisado",[1447,5052,5053],{},"Out of service, recoverable.",[1432,5055,5056,5061,5064],{},[1447,5057,5058],{},[16,5059,5060],{},"decommissioned",[1447,5062,5063],{},"Desativado \u002F tamponado",[1447,5065,5066],{},"Permanently closed and properly sealed.",[1432,5068,5069,5074,5077],{},[1447,5070,5071],{},[16,5072,5073],{},"abandoned",[1447,5075,5076],{},"Abandonado",[1447,5078,5079],{},"Left without proper sealing.",[21,5081,5082,5083,5085,5086,5088,5089,5091],{},"The well's current status is the ",[16,5084,4275],{}," of the ",[16,5087,1546],{}," entry with the latest ",[16,5090,2711],{},"; with no such entry, the status is unknown.",[47,5093,5095,261,5097],{"id":5094},"attachmentdocument_type--recommended-values-since-v23",[16,5096,463],{},[118,5098,207],{},[1426,5100,5101,5112],{},[1429,5102,5103],{},[1432,5104,5105,5107,5109],{},[1435,5106,2944],{},[1435,5108,2947],{},[1435,5110,5111],{},"Typical location",[1442,5113,5114,5127,5139,5151,5164,5178,5193,5207,5221,5235,5249],{},[1432,5115,5116,5121,5124],{},[1447,5117,5118],{},[16,5119,5120],{},"drilling_report",[1447,5122,5123],{},"Relatório de perfuração \u002F relatório técnico",[1447,5125,5126],{},"Root",[1432,5128,5129,5134,5137],{},[1447,5130,5131],{},[16,5132,5133],{},"as_built_drawing",[1447,5135,5136],{},"Perfil construtivo as-built",[1447,5138,5126],{},[1432,5140,5141,5146,5149],{},[1447,5142,5143],{},[16,5144,5145],{},"registry_record",[1447,5147,5148],{},"Ficha cadastral (SIAGAS, CNARH)",[1447,5150,5126],{},[1432,5152,5153,5158,5161],{},[1447,5154,5155],{},[16,5156,5157],{},"photo",[1447,5159,5160],{},"Fotografia",[1447,5162,5163],{},"Any",[1432,5165,5166,5171,5174],{},[1447,5167,5168],{},[16,5169,5170],{},"permit_document",[1447,5172,5173],{},"Portaria \u002F certificado de outorga",[1447,5175,5176],{},[16,5177,1292],{},[1432,5179,5180,5185,5188],{},[1447,5181,5182],{},[16,5183,5184],{},"condition_evidence",[1447,5186,5187],{},"Comprovante de cumprimento de condicionante",[1447,5189,5190],{},[16,5191,5192],{},"permits[].conditions[].fulfillments",[1432,5194,5195,5200,5203],{},[1447,5196,5197],{},[16,5198,5199],{},"pump_curve",[1447,5201,5202],{},"Curva da bomba",[1447,5204,5205],{},[16,5206,1274],{},[1432,5208,5209,5214,5217],{},[1447,5210,5211],{},[16,5212,5213],{},"field_sheet",[1447,5215,5216],{},"Planilha de campo",[1447,5218,5219],{},[16,5220,1197],{},[1432,5222,5223,5228,5231],{},[1447,5224,5225],{},[16,5226,5227],{},"test_report",[1447,5229,5230],{},"Relatório de teste de bombeamento",[1447,5232,5233],{},[16,5234,1215],{},[1432,5236,5237,5242,5245],{},[1447,5238,5239],{},[16,5240,5241],{},"lab_report",[1447,5243,5244],{},"Laudo laboratorial",[1447,5246,5247],{},[16,5248,1369],{},[1432,5250,5251,5256,5259],{},[1447,5252,5253],{},[16,5254,5255],{},"invoice",[1447,5257,5258],{},"Nota fiscal",[1447,5260,5163],{},[21,5262,5263,5264,3078],{},"The vocabulary is open; non-canonical values SHOULD use the ",[16,5265,71],{},[713,5267],{},[47,5269,5270],{"id":59},[16,5271,59],{},[21,5273,5274],{},"Array of authority-scoped identifiers linking the well to external registries. A well may be registered in multiple national, regional, or institutional registries simultaneously.",[1426,5276,5277,5289],{},[1429,5278,5279],{},[1432,5280,5281,5283,5285,5287],{},[1435,5282,1908],{},[1435,5284,1911],{},[1435,5286,1914],{},[1435,5288,1440],{},[1442,5290,5291,5314,5327],{},[1432,5292,5293,5298,5300,5302],{},[1447,5294,5295],{},[16,5296,5297],{},"authority",[1447,5299,1944],{},[1447,5301,1930],{},[1447,5303,5304,5305,1491,5308,1491,5311,1808],{},"Name of the issuing registry or institution (e.g. ",[16,5306,5307],{},"\"SIAGAS\"",[16,5309,5310],{},"\"ANA\"",[16,5312,5313],{},"\"NGWD\"",[1432,5315,5316,5320,5322,5324],{},[1447,5317,5318],{},[16,5319,696],{},[1447,5321,1944],{},[1447,5323,1930],{},[1447,5325,5326],{},"The identifier as issued by the authority.",[1432,5328,5329,5334,5337,5339],{},[1447,5330,5331],{},[16,5332,5333],{},"primary",[1447,5335,5336],{},"boolean",[1447,5338,1960],{},[1447,5340,5341,5342,75],{},"Marks the canonical identifier. At most one entry may have ",[16,5343,5344],{},"primary: true",[21,5346,5347,5348,5350,5351,75],{},"Producers SHOULD mark exactly one entry ",[16,5349,5344],{},". The rule \"the first entry is canonical\" applies only as a fallback when no entry is marked, because it is fragile when the order changes. Parsers MUST warn when multiple entries have ",[16,5352,5344],{},[1388,5354,480],{"id":5355},"numeric-id-conversion",[21,5357,5358,5359,5361,5362,1868,5365,5368,5369,1649,5372,75],{},"All ",[16,5360,696],{}," values are strings. When the source identifier from an external system is an integer, the string representation MUST be the canonical base-10 representation with no leading zeros, no thousands separator, and no locale-specific formatting. The integer ",[16,5363,5364],{},"42",[16,5366,5367],{},"\"42\"",", not ",[16,5370,5371],{},"\"042\"",[16,5373,5374],{},"\"42,\"",[21,5376,5377,5378,5381,5382,5385],{},"When the source identifier is a fixed-width string with significant leading zeros (e.g. ",[16,5379,5380],{},"\"00042819\""," from a registry where width carries meaning), the original string MUST be preserved verbatim. Composite identifiers containing significant leading zeros in their numeric portion (e.g. SIAGAS ",[16,5383,5384],{},"\"SP-0042819\"",") MUST be preserved as-is.",[1388,5387,486],{"id":5388},"uniqueness",[21,5390,5391,5392,5395,5396,5398],{},"The combination ",[16,5393,5394],{},"(authority, id)"," MUST be unique within the ",[16,5397,59],{}," array. See § Cross-reference and uniqueness rules for the duplicate-handling policy.",[719,5400,5402],{"className":721,"code":5401,"language":723,"meta":724,"style":724},"\"well_id\": [\n  { \"authority\": \"SIAGAS\", \"id\": \"SP-0042819\", \"primary\": true },\n  { \"authority\": \"ANA\",    \"id\": \"02000.001234\u002F2006-78\" },\n  { \"authority\": \"utility-internal\", \"id\": \"PP-01\" }\n]\n",[16,5403,5404,5417,5470,5509,5547],{"__ignoreMap":724},[728,5405,5406,5408,5410,5412,5414],{"class":730,"line":731},[728,5407,748],{"class":734},[728,5409,59],{"class":757},[728,5411,748],{"class":734},[728,5413,4994],{"class":808},[728,5415,5416],{"class":734},"[\n",[728,5418,5419,5422,5424,5426,5428,5430,5432,5435,5437,5439,5441,5443,5445,5447,5449,5452,5454,5456,5458,5460,5462,5464,5467],{"class":730,"line":738},[728,5420,5421],{"class":734},"  {",[728,5423,754],{"class":734},[728,5425,5297],{"class":744},[728,5427,748],{"class":734},[728,5429,751],{"class":734},[728,5431,754],{"class":734},[728,5433,5434],{"class":757},"SIAGAS",[728,5436,748],{"class":734},[728,5438,2785],{"class":734},[728,5440,754],{"class":734},[728,5442,696],{"class":744},[728,5444,748],{"class":734},[728,5446,751],{"class":734},[728,5448,754],{"class":734},[728,5450,5451],{"class":757},"SP-0042819",[728,5453,748],{"class":734},[728,5455,2785],{"class":734},[728,5457,754],{"class":734},[728,5459,5333],{"class":744},[728,5461,748],{"class":734},[728,5463,751],{"class":734},[728,5465,5466],{"class":734}," true",[728,5468,5469],{"class":734}," },\n",[728,5471,5472,5474,5476,5478,5480,5482,5484,5487,5489,5491,5494,5496,5498,5500,5502,5505,5507],{"class":730,"line":766},[728,5473,5421],{"class":734},[728,5475,754],{"class":734},[728,5477,5297],{"class":744},[728,5479,748],{"class":734},[728,5481,751],{"class":734},[728,5483,754],{"class":734},[728,5485,5486],{"class":757},"ANA",[728,5488,748],{"class":734},[728,5490,2785],{"class":734},[728,5492,5493],{"class":734},"    \"",[728,5495,696],{"class":744},[728,5497,748],{"class":734},[728,5499,751],{"class":734},[728,5501,754],{"class":734},[728,5503,5504],{"class":757},"02000.001234\u002F2006-78",[728,5506,748],{"class":734},[728,5508,5469],{"class":734},[728,5510,5511,5513,5515,5517,5519,5521,5523,5526,5528,5530,5532,5534,5536,5538,5540,5543,5545],{"class":730,"line":787},[728,5512,5421],{"class":734},[728,5514,754],{"class":734},[728,5516,5297],{"class":744},[728,5518,748],{"class":734},[728,5520,751],{"class":734},[728,5522,754],{"class":734},[728,5524,5525],{"class":757},"utility-internal",[728,5527,748],{"class":734},[728,5529,2785],{"class":734},[728,5531,754],{"class":734},[728,5533,696],{"class":744},[728,5535,748],{"class":734},[728,5537,751],{"class":734},[728,5539,754],{"class":734},[728,5541,5542],{"class":757},"PP-01",[728,5544,748],{"class":734},[728,5546,2804],{"class":734},[728,5548,5549],{"class":730,"line":794},[728,5550,1380],{"class":734},[713,5552],{},[47,5554,5555],{"id":63},[16,5556,63],{},[21,5558,5559,5560,1491,5563,5566,5567,5570],{},"Geographic position and elevation of the wellhead. Supersedes the v1 top-level ",[16,5561,5562],{},"lat",[16,5564,5565],{},"lng",", and ",[16,5568,5569],{},"elevation"," fields.",[21,5572,5573,5574,1491,5576,1491,5578,5580,5581,5584],{},"The three primary measurements — ",[16,5575,5562],{},[16,5577,5565],{},[16,5579,5569],{}," — are top-level fields on the location object for ergonomics. All ancillary metadata (datum, CRS, precision, source CRS) lives under a nested ",[16,5582,5583],{},"properties"," object.",[1426,5586,5587,5599],{},[1429,5588,5589],{},[1432,5590,5591,5593,5595,5597],{},[1435,5592,1908],{},[1435,5594,1911],{},[1435,5596,1914],{},[1435,5598,1440],{},[1442,5600,5601,5614,5627,5643],{},[1432,5602,5603,5607,5609,5611],{},[1447,5604,5605],{},[16,5606,5562],{},[1447,5608,2015],{},[1447,5610,1930],{},[1447,5612,5613],{},"Latitude in decimal degrees.",[1432,5615,5616,5620,5622,5624],{},[1447,5617,5618],{},[16,5619,5565],{},[1447,5621,2015],{},[1447,5623,1930],{},[1447,5625,5626],{},"Longitude in decimal degrees.",[1432,5628,5629,5633,5635,5637],{},[1447,5630,5631],{},[16,5632,5569],{},[1447,5634,2015],{},[1447,5636,1960],{},[1447,5638,5639,5640,1808],{},"Wellhead elevation in meters above the WGS84 reference ellipsoid (or the datum named in ",[16,5641,5642],{},"properties.elevation_datum",[1432,5644,5645,5649,5653,5655],{},[1447,5646,5647],{},[16,5648,5583],{},[1447,5650,5651],{},[16,5652,503],{},[1447,5654,1960],{},[1447,5656,5657],{},"Ancillary metadata. When absent, all defaults apply.",[1388,5659,5661],{"id":5660},"locationproperties",[16,5662,503],{},[1426,5664,5665,5677],{},[1429,5666,5667],{},[1432,5668,5669,5671,5673,5675],{},[1435,5670,1908],{},[1435,5672,1911],{},[1435,5674,1914],{},[1435,5676,1440],{},[1442,5678,5679,5698,5716,5733,5748,5764,5778],{},[1432,5680,5681,5685,5687,5689],{},[1447,5682,5683],{},[16,5684,511],{},[1447,5686,1944],{},[1447,5688,1960],{},[1447,5690,5691,5692,5694,5695,75],{},"Reference datum for ",[16,5693,5569],{},". See vocabulary below. Default: ",[16,5696,5697],{},"wgs84_ellipsoid",[1432,5699,5700,5705,5707,5709],{},[1447,5701,5702],{},[16,5703,5704],{},"crs",[1447,5706,1944],{},[1447,5708,1960],{},[1447,5710,5711,5712,5715],{},"EPSG code of the coordinate reference system. Must be a geographic (not projected) CRS. Default: ",[16,5713,5714],{},"\"EPSG:4326\""," (WGS84).",[1432,5717,5718,5723,5725,5727],{},[1447,5719,5720],{},[16,5721,5722],{},"lat_precision",[1447,5724,2015],{},[1447,5726,1960],{},[1447,5728,5729,5730,5732],{},"One-sigma precision of ",[16,5731,5562],{}," in decimal degrees.",[1432,5734,5735,5740,5742,5744],{},[1447,5736,5737],{},[16,5738,5739],{},"lng_precision",[1447,5741,2015],{},[1447,5743,1960],{},[1447,5745,5729,5746,5732],{},[16,5747,5565],{},[1432,5749,5750,5755,5757,5759],{},[1447,5751,5752],{},[16,5753,5754],{},"elevation_precision",[1447,5756,2015],{},[1447,5758,1960],{},[1447,5760,5729,5761,5763],{},[16,5762,5569],{}," in meters.",[1432,5765,5766,5771,5773,5775],{},[1447,5767,5768],{},[16,5769,5770],{},"original_crs",[1447,5772,1944],{},[1447,5774,1960],{},[1447,5776,5777],{},"EPSG code of the source CRS, preserved for traceability when source data was in a projected CRS that the converter transformed to geographic. Informational only.",[1432,5779,5780,5784,5786,5788],{},[1447,5781,5782],{},[16,5783,2724],{},[1447,5785,1944],{},[1447,5787,1960],{},[1447,5789,5790,5791,5794,5795],{},"IANA time zone of the well site (e.g. ",[16,5792,5793],{},"America\u002FBelem","). A value that is not a valid IANA name is malformed. ",[118,5796,120],{},[1388,5798,5800,252],{"id":5799},"elevation_datum--recommended-values",[16,5801,511],{},[1426,5803,5804,5812],{},[1429,5805,5806],{},[1432,5807,5808,5810],{},[1435,5809,2944],{},[1435,5811,1440],{},[1442,5813,5814,5823,5833,5843],{},[1432,5815,5816,5820],{},[1447,5817,5818],{},[16,5819,5697],{},[1447,5821,5822],{},"WGS84 reference ellipsoidal height. Default.",[1432,5824,5825,5830],{},[1447,5826,5827],{},[16,5828,5829],{},"egm2008",[1447,5831,5832],{},"Earth Gravitational Model 2008 geoid",[1432,5834,5835,5840],{},[1447,5836,5837],{},[16,5838,5839],{},"egm96",[1447,5841,5842],{},"Earth Gravitational Model 1996 geoid",[1432,5844,5845,5850],{},[1447,5846,5847],{},[16,5848,5849],{},"local_msl",[1447,5851,5852,5853,5855,5856,5859],{},"Local mean sea level (imprecise; specific datum SHOULD be named via ",[16,5854,71],{}," prefix, e.g. ",[16,5857,5858],{},"x-imbituba"," for Brazil's national vertical reference)",[21,5861,5862,5863,5865,5866,75],{},"When ",[16,5864,511],{}," is omitted, parsers MUST assume ",[16,5867,5697],{},[1388,5869,517],{"id":5870},"crs-scope",[21,5872,5873,5874,5877,5878,5880],{},"Only geographic coordinate reference systems are permitted in ",[16,5875,5876],{},"properties.crs",". Projected CRS values (e.g. UTM zones) are not valid. If source data uses a projected CRS, the converting application MUST transform to geographic coordinates before writing the file. The ",[16,5879,5770],{}," field MAY be populated with the source CRS for traceability.",[719,5882,5884],{"className":721,"code":5883,"language":723,"meta":724,"style":724},"\"location\": {\n  \"lat\": -1.4558,\n  \"lng\": -48.5039,\n  \"elevation\": 12.5,\n  \"properties\": {\n    \"elevation_datum\": \"wgs84_ellipsoid\",\n    \"crs\": \"EPSG:4326\",\n    \"lat_precision\": 0.0001,\n    \"lng_precision\": 0.0001,\n    \"elevation_precision\": 0.5,\n    \"original_crs\": \"EPSG:31983\"\n  }\n}\n",[16,5885,5886,5898,5914,5929,5944,5957,5976,5995,6010,6024,6039,6057,6062],{"__ignoreMap":724},[728,5887,5888,5890,5892,5894,5896],{"class":730,"line":731},[728,5889,748],{"class":734},[728,5891,63],{"class":757},[728,5893,748],{"class":734},[728,5895,4994],{"class":808},[728,5897,735],{"class":734},[728,5899,5900,5902,5904,5906,5908,5912],{"class":730,"line":738},[728,5901,741],{"class":734},[728,5903,5562],{"class":744},[728,5905,748],{"class":734},[728,5907,751],{"class":734},[728,5909,5911],{"class":5910},"sbssI"," -1.4558",[728,5913,763],{"class":734},[728,5915,5916,5918,5920,5922,5924,5927],{"class":730,"line":766},[728,5917,741],{"class":734},[728,5919,5565],{"class":744},[728,5921,748],{"class":734},[728,5923,751],{"class":734},[728,5925,5926],{"class":5910}," -48.5039",[728,5928,763],{"class":734},[728,5930,5931,5933,5935,5937,5939,5942],{"class":730,"line":787},[728,5932,741],{"class":734},[728,5934,5569],{"class":744},[728,5936,748],{"class":734},[728,5938,751],{"class":734},[728,5940,5941],{"class":5910}," 12.5",[728,5943,763],{"class":734},[728,5945,5946,5948,5950,5952,5954],{"class":730,"line":794},[728,5947,741],{"class":734},[728,5949,5583],{"class":744},[728,5951,748],{"class":734},[728,5953,751],{"class":734},[728,5955,5956],{"class":734}," {\n",[728,5958,5959,5961,5964,5966,5968,5970,5972,5974],{"class":730,"line":815},[728,5960,5493],{"class":734},[728,5962,511],{"class":5963},"sBMFI",[728,5965,748],{"class":734},[728,5967,751],{"class":734},[728,5969,754],{"class":734},[728,5971,5697],{"class":757},[728,5973,748],{"class":734},[728,5975,763],{"class":734},[728,5977,5978,5980,5982,5984,5986,5988,5991,5993],{"class":730,"line":834},[728,5979,5493],{"class":734},[728,5981,5704],{"class":5963},[728,5983,748],{"class":734},[728,5985,751],{"class":734},[728,5987,754],{"class":734},[728,5989,5990],{"class":757},"EPSG:4326",[728,5992,748],{"class":734},[728,5994,763],{"class":734},[728,5996,5997,5999,6001,6003,6005,6008],{"class":730,"line":839},[728,5998,5493],{"class":734},[728,6000,5722],{"class":5963},[728,6002,748],{"class":734},[728,6004,751],{"class":734},[728,6006,6007],{"class":5910}," 0.0001",[728,6009,763],{"class":734},[728,6011,6012,6014,6016,6018,6020,6022],{"class":730,"line":860},[728,6013,5493],{"class":734},[728,6015,5739],{"class":5963},[728,6017,748],{"class":734},[728,6019,751],{"class":734},[728,6021,6007],{"class":5910},[728,6023,763],{"class":734},[728,6025,6026,6028,6030,6032,6034,6037],{"class":730,"line":879},[728,6027,5493],{"class":734},[728,6029,5754],{"class":5963},[728,6031,748],{"class":734},[728,6033,751],{"class":734},[728,6035,6036],{"class":5910}," 0.5",[728,6038,763],{"class":734},[728,6040,6041,6043,6045,6047,6049,6051,6054],{"class":730,"line":896},[728,6042,5493],{"class":734},[728,6044,5770],{"class":5963},[728,6046,748],{"class":734},[728,6048,751],{"class":734},[728,6050,754],{"class":734},[728,6052,6053],{"class":757},"EPSG:31983",[728,6055,6056],{"class":734},"\"\n",[728,6058,6059],{"class":730,"line":916},[728,6060,6061],{"class":734},"  }\n",[728,6063,6064],{"class":730,"line":937},[728,6065,1386],{"class":734},[713,6067],{},[47,6069,523],{"id":6070},"units",[21,6072,6073,6074,6076,6077,6080],{},"All numeric values in a ",[16,6075,18],{}," file are in ",[24,6078,6079],{},"SI",". The format does not encode unit declarations; the units below are the single, canonical interpretation for every field of the corresponding kind. No file may override these.",[1388,6082,531],{"id":6083},"canonical-units",[1426,6085,6086,6102],{},[1429,6087,6088],{},[1432,6089,6090,6093,6096,6099],{},[1435,6091,6092],{},"Quantity",[1435,6094,6095],{},"Unit",[1435,6097,6098],{},"UCUM",[1435,6100,6101],{},"Stored as",[1442,6103,6104,6119,6134,6149,6164,6180,6195,6210,6225,6240,6258,6275,6292,6309,6323,6337,6360,6377,6394,6409,6424,6439,6455,6469,6484],{},[1432,6105,6106,6109,6112,6117],{},[1447,6107,6108],{},"Depth, length, elevation",[1447,6110,6111],{},"meter",[1447,6113,6114],{},[16,6115,6116],{},"m",[1447,6118,2015],{},[1432,6120,6121,6124,6127,6132],{},[1447,6122,6123],{},"Diameter",[1447,6125,6126],{},"millimeter",[1447,6128,6129],{},[16,6130,6131],{},"mm",[1447,6133,2015],{},[1432,6135,6136,6139,6142,6147],{},[1447,6137,6138],{},"Volumetric flow rate",[1447,6140,6141],{},"cubic meter per hour",[1447,6143,6144],{},[16,6145,6146],{},"m3\u002Fh",[1447,6148,2015],{},[1432,6150,6151,6154,6157,6162],{},[1447,6152,6153],{},"Elapsed time, duration",[1447,6155,6156],{},"minute",[1447,6158,6159],{},[16,6160,6161],{},"min",[1447,6163,2015],{},[1432,6165,6166,6169,6172,6177],{},[1447,6167,6168],{},"Daily operating time",[1447,6170,6171],{},"hour",[1447,6173,6174],{},[16,6175,6176],{},"h",[1447,6178,6179],{},"number (above 24 read as 24)",[1432,6181,6182,6185,6188,6193],{},[1447,6183,6184],{},"Volume",[1447,6186,6187],{},"cubic meter",[1447,6189,6190],{},[16,6191,6192],{},"m3",[1447,6194,2015],{},[1432,6196,6197,6200,6203,6208],{},[1447,6198,6199],{},"Power",[1447,6201,6202],{},"kilowatt",[1447,6204,6205],{},[16,6206,6207],{},"kW",[1447,6209,2015],{},[1432,6211,6212,6215,6218,6223],{},[1447,6213,6214],{},"Voltage",[1447,6216,6217],{},"volt",[1447,6219,6220],{},[16,6221,6222],{},"V",[1447,6224,2015],{},[1432,6226,6227,6230,6233,6238],{},[1447,6228,6229],{},"Cross-sectional area",[1447,6231,6232],{},"square millimeter",[1447,6234,6235],{},[16,6236,6237],{},"mm2",[1447,6239,2015],{},[1432,6241,6242,6245,6248,6253],{},[1447,6243,6244],{},"Mass concentration",[1447,6246,6247],{},"milligram per liter",[1447,6249,6250],{},[16,6251,6252],{},"mg\u002FL",[1447,6254,6255,6256],{},"number ",[118,6257,207],{},[1432,6259,6260,6263,6266,6271],{},[1447,6261,6262],{},"Electrical conductivity",[1447,6264,6265],{},"microsiemens per centimeter at 25 °C",[1447,6267,6268],{},[16,6269,6270],{},"uS\u002Fcm",[1447,6272,6255,6273],{},[118,6274,207],{},[1432,6276,6277,6280,6283,6288],{},[1447,6278,6279],{},"Temperature",[1447,6281,6282],{},"degree Celsius",[1447,6284,6285],{},[16,6286,6287],{},"Cel",[1447,6289,6255,6290],{},[118,6291,207],{},[1432,6293,6294,6297,6300,6305],{},[1447,6295,6296],{},"Redox potential",[1447,6298,6299],{},"millivolt",[1447,6301,6302],{},[16,6303,6304],{},"mV",[1447,6306,6255,6307],{},[118,6308,207],{},[1432,6310,6311,6314,6317,6319],{},[1447,6312,6313],{},"Turbidity",[1447,6315,6316],{},"NTU, FNU, FAU, FTU (by parameter code)",[1447,6318,4734],{},[1447,6320,6255,6321],{},[118,6322,207],{},[1432,6324,6325,6328,6331,6333],{},[1447,6326,6327],{},"Color",[1447,6329,6330],{},"Hazen unit (uH = mg Pt-Co\u002FL)",[1447,6332,4734],{},[1447,6334,6255,6335],{},[118,6336,207],{},[1432,6338,6339,6342,6345,6356],{},[1447,6340,6341],{},"Microbiological count",[1447,6343,6344],{},"MPN\u002F100 mL, CFU\u002F100 mL, CFU\u002FmL (by parameter code)",[1447,6346,6347,1491,6350,1491,6353],{},[16,6348,6349],{},"{MPN}\u002F(100.mL)",[16,6351,6352],{},"{CFU}\u002F(100.mL)",[16,6354,6355],{},"{CFU}\u002FmL",[1447,6357,6255,6358],{},[118,6359,207],{},[1432,6361,6362,6365,6368,6373],{},[1447,6363,6364],{},"Activity concentration",[1447,6366,6367],{},"becquerel per liter",[1447,6369,6370],{},[16,6371,6372],{},"Bq\u002FL",[1447,6374,6255,6375],{},[118,6376,207],{},[1432,6378,6379,6382,6385,6390],{},[1447,6380,6381],{},"Filter pore size",[1447,6383,6384],{},"micrometer",[1447,6386,6387],{},[16,6388,6389],{},"um",[1447,6391,6255,6392],{},[118,6393,207],{},[1432,6395,6396,6399,6402,6407],{},[1447,6397,6398],{},"Transmissivity",[1447,6400,6401],{},"square meter per second",[1447,6403,6404],{},[16,6405,6406],{},"m2\u002Fs",[1447,6408,2015],{},[1432,6410,6411,6414,6417,6422],{},[1447,6412,6413],{},"Hydraulic conductivity",[1447,6415,6416],{},"meter per second",[1447,6418,6419],{},[16,6420,6421],{},"m\u002Fs",[1447,6423,2015],{},[1432,6425,6426,6429,6432,6437],{},[1447,6427,6428],{},"Pressure",[1447,6430,6431],{},"kilopascal",[1447,6433,6434],{},[16,6435,6436],{},"kPa",[1447,6438,2015],{},[1432,6440,6441,6444,6447,6452],{},[1447,6442,6443],{},"Angle (azimuth, dip)",[1447,6445,6446],{},"degree",[1447,6448,6449],{},[16,6450,6451],{},"deg",[1447,6453,6454],{},"number (0–360 for azimuth, 0–90 for dip)",[1432,6456,6457,6460,6463,6467],{},[1447,6458,6459],{},"Geographic coordinates",[1447,6461,6462],{},"decimal degree (WGS84)",[1447,6464,6465],{},[16,6466,6451],{},[1447,6468,2015],{},[1432,6470,6471,6474,6477,6479],{},[1447,6472,6473],{},"Calendar date",[1447,6475,6476],{},"ISO 8601",[1447,6478,4734],{},[1447,6480,6481,6482],{},"string ",[16,6483,930],{},[1432,6485,6486,6489,6492,6494],{},[1447,6487,6488],{},"Instant",[1447,6490,6491],{},"RFC 3339 with UTC offset",[1447,6493,4734],{},[1447,6495,1944],{},[21,6497,6498,6499,6502,6503,6505],{},"UCUM is the ",[24,6500,6501],{},"Unified Code for Units of Measure",", the international machine-parseable unit standard used by OGC SWE and the scientific community. The UCUM column above documents the canonical encoding of each unit for use in JSON-LD contexts, profile schemas, and downstream interoperability — it is not encoded in ",[16,6504,18],{}," files themselves.",[1388,6507,537],{"id":6508},"field-to-unit-binding-normative",[21,6510,6511,6517],{},[24,6512,6513,6514,6516],{},"Meter (",[16,6515,6116],{},")"," — all depths, lengths, and elevations:",[81,6519,6520,6524,6532,6540,6548,6556,6564,6572,6583,6594,6602,6610,6618,6626,6634,6641,6659,6666,6674,6679,6687,6699],{},[84,6521,6522],{},[16,6523,2012],{},[84,6525,6526,1491,6529],{},[16,6527,6528],{},"bore_hole[].from",[16,6530,6531],{},"bore_hole[].to",[84,6533,6534,1491,6537],{},[16,6535,6536],{},"well_case[].from",[16,6538,6539],{},"well_case[].to",[84,6541,6542,1491,6545],{},[16,6543,6544],{},"reduction[].from",[16,6546,6547],{},"reduction[].to",[84,6549,6550,1491,6553],{},[16,6551,6552],{},"well_screen[].from",[16,6554,6555],{},"well_screen[].to",[84,6557,6558,1491,6561],{},[16,6559,6560],{},"surface_case[].from",[16,6562,6563],{},"surface_case[].to",[84,6565,6566,1491,6569],{},[16,6567,6568],{},"hole_fill[].from",[16,6570,6571],{},"hole_fill[].to",[84,6573,6574,1491,6577,1491,6580],{},[16,6575,6576],{},"centralizers[].from",[16,6578,6579],{},"centralizers[].to",[16,6581,6582],{},"centralizers[].spacing",[84,6584,6585,1491,6588,1491,6591],{},[16,6586,6587],{},"cement_pad.width",[16,6589,6590],{},"cement_pad.length",[16,6592,6593],{},"cement_pad.thickness",[84,6595,6596,1491,6599],{},[16,6597,6598],{},"lithology[].from",[16,6600,6601],{},"lithology[].to",[84,6603,6604,1491,6607],{},[16,6605,6606],{},"fractures[].depth",[16,6608,6609],{},"fractures[].depth_precision",[84,6611,6612,1491,6615],{},[16,6613,6614],{},"caves[].from",[16,6616,6617],{},"caves[].to",[84,6619,6620,1491,6623],{},[16,6621,6622],{},"hydrodynamic_events[].static_level",[16,6624,6625],{},"static_level_precision",[84,6627,6628,1491,6631],{},[16,6629,6630],{},"PumpingStep.readings[].depth",[16,6632,6633],{},"depth_precision",[84,6635,6636,1491,6639],{},[16,6637,6638],{},"RecoveryPhase.readings[].depth",[16,6640,6633],{},[84,6642,6643,1491,6646,1491,6649,1491,6651,1491,6654,27,6657],{},[16,6644,6645],{},"logger_series.sensor_depth",[16,6647,6648],{},"readings[].depth",[16,6650,6633],{},[16,6652,6653],{},"depth_min",[16,6655,6656],{},"depth_max",[118,6658,120],{},[84,6660,6661,1491,6664],{},[16,6662,6663],{},"aquifer_analysis[].static_level",[16,6665,6625],{},[84,6667,6668,1491,6671],{},[16,6669,6670],{},"aquifer_analysis[].dynamic_level",[16,6672,6673],{},"dynamic_level_precision",[84,6675,6676],{},[16,6677,6678],{},"aquifer_analysis[].aquifer_thickness",[84,6680,6681,1491,6684],{},[16,6682,6683],{},"location.elevation",[16,6685,6686],{},"location.properties.elevation_precision",[84,6688,6689,1491,6692,1491,6694,27,6697],{},[16,6690,6691],{},"pump_installations[].intake_depth",[16,6693,2483],{},[16,6695,6696],{},"electrical.cable_length",[118,6698,207],{},[84,6700,6701,1491,6704,1491,6706,1491,6708,27,6710],{},[16,6702,6703],{},"water_samples[].sampling_point.depth",[16,6705,6633],{},[16,6707,2491],{},[16,6709,2495],{},[118,6711,207],{},[21,6713,6714,6719],{},[24,6715,6716,6717,6516],{},"Millimeter (",[16,6718,6131],{}," — all diameters and slot openings:",[81,6721,6722,6727,6732,6740,6748,6753,6758,6763,6770],{},[84,6723,6724],{},[16,6725,6726],{},"bore_hole[].diameter",[84,6728,6729],{},[16,6730,6731],{},"well_case[].diameter",[84,6733,6734,1491,6737],{},[16,6735,6736],{},"reduction[].diam_from",[16,6738,6739],{},"reduction[].diam_to",[84,6741,6742,1491,6745],{},[16,6743,6744],{},"well_screen[].diameter",[16,6746,6747],{},"well_screen[].screen_slot",[84,6749,6750],{},[16,6751,6752],{},"surface_case[].diameter",[84,6754,6755],{},[16,6756,6757],{},"hole_fill[].diameter",[84,6759,6760],{},[16,6761,6762],{},"centralizers[].diameter",[84,6764,6765,27,6768],{},[16,6766,6767],{},"pump_installations[].riser_diameter",[118,6769,207],{},[84,6771,6772,27,6775],{},[16,6773,6774],{},"meters[].nominal_diameter",[118,6776,207],{},[21,6778,6779,6784],{},[24,6780,6781,6782,6516],{},"Cubic meter per hour (",[16,6783,6146],{}," — all volumetric flow rates:",[81,6786,6787,6795,6803,6808,6815,6825,6832],{},[84,6788,6789,1491,6792],{},[16,6790,6791],{},"PumpingStep.rate",[16,6793,6794],{},"rate_precision",[84,6796,6797,1491,6800],{},[16,6798,6799],{},"aquifer_analysis[].flow_rate",[16,6801,6802],{},"flow_rate_precision",[84,6804,6805],{},[16,6806,6807],{},"recovery_only.pumping_rate",[84,6809,6810,27,6813],{},[16,6811,6812],{},"pump_installations[].rated_flow_rate",[118,6814,207],{},[84,6816,6817,1491,6820,27,6823],{},[16,6818,6819],{},"permits[].flow_rate",[16,6821,6822],{},"permits[].monthly_schedule[].flow_rate",[118,6824,207],{},[84,6826,6827,27,6830],{},[16,6828,6829],{},"operating_regime[].flow_rate",[118,6831,207],{},[84,6833,6834,27,6837],{},[16,6835,6836],{},"water_samples[].purge.flow_rate",[118,6838,207],{},[21,6840,6841,6846],{},[24,6842,6843,6844,6516],{},"Minute (",[16,6845,6161],{}," — all elapsed times and durations:",[81,6848,6849,6854,6859,6864,6871],{},[84,6850,6851],{},[16,6852,6853],{},"PumpingStep.duration",[84,6855,6856],{},[16,6857,6858],{},"LevelReading.elapsed",[84,6860,6861],{},[16,6862,6863],{},"recovery_only.pumping_duration",[84,6865,6866,27,6869],{},[16,6867,6868],{},"logger_series.interval",[118,6870,120],{},[84,6872,6873,1491,6876,27,6879],{},[16,6874,6875],{},"water_samples[].purge.duration",[16,6877,6878],{},"purge.readings[].elapsed",[118,6880,207],{},[21,6882,6883,6888,6889,751],{},[24,6884,6885,6886,6516],{},"Cubic meter (",[16,6887,6192],{}," — volume ",[118,6890,207],{},[81,6892,6893,6898,6903,6916],{},[84,6894,6895],{},[16,6896,6897],{},"permits[].volume_limits[].volume",[84,6899,6900],{},[16,6901,6902],{},"meters[].max_reading",[84,6904,6905,1477,6908,6910,6911,1477,6914,6516],{},[16,6906,6907],{},"production[].reading",[16,6909,2668],{},"), ",[16,6912,6913],{},"production[].volume",[16,6915,2677],{},[84,6917,6918],{},[16,6919,6920],{},"water_samples[].purge.volume",[21,6922,6923,6928,6929,751],{},[24,6924,6925,6926,6516],{},"Hour (",[16,6927,6176],{}," — daily operating time ",[118,6930,207],{},[81,6932,6933,6941],{},[84,6934,6935,1491,6938],{},[16,6936,6937],{},"permits[].daily_operating_time",[16,6939,6940],{},"permits[].monthly_schedule[].daily_operating_time",[84,6942,6943],{},[16,6944,6945],{},"operating_regime[].daily_operating_time",[21,6947,6948,6949,6952],{},"The minute remains the canonical unit for elapsed time and durations. The hour is bound only to ",[16,6950,6951],{},"daily_operating_time",", which regulators always express in hours.",[21,6954,6955,6960],{},[24,6956,6957,6958,6516],{},"Square meter per second (",[16,6959,6406],{}," — transmissivity:",[81,6962,6963],{},[84,6964,6965],{},[16,6966,6967],{},"aquifer_analysis[].transmissivity",[21,6969,6970,6975],{},[24,6971,6972,6973,6516],{},"Meter per second (",[16,6974,6421],{}," — hydraulic conductivity:",[81,6977,6978],{},[84,6979,6980],{},[16,6981,6982],{},"aquifer_analysis[].hydraulic_conductivity",[21,6984,6985,6990],{},[24,6986,6987,6988,6516],{},"Kilopascal (",[16,6989,6436],{}," — pressure:",[81,6992,6993],{},[84,6994,6995],{},[16,6996,6997],{},"LevelReading.pressure",[21,6999,7000,7005,7006,751],{},[24,7001,7002,7003,6516],{},"Kilowatt (",[16,7004,6207],{}," — power ",[118,7007,207],{},[81,7009,7010],{},[84,7011,7012],{},[16,7013,7014],{},"pump_installations[].rated_power",[21,7016,7017,7022,7023,751],{},[24,7018,7019,7020,6516],{},"Volt (",[16,7021,6222],{}," — voltage ",[118,7024,207],{},[81,7026,7027],{},[84,7028,7029],{},[16,7030,7031],{},"pump_installations[].electrical.voltage",[21,7033,7034,7039,7040,751],{},[24,7035,7036,7037,6516],{},"Square millimeter (",[16,7038,6237],{}," — cross-sectional area ",[118,7041,207],{},[81,7043,7044],{},[84,7045,7046],{},[16,7047,7048],{},"pump_installations[].electrical.cable_section",[21,7050,7051,7056,7057,751],{},[24,7052,7053,7054,6516],{},"Degree Celsius (",[16,7055,6287],{}," — temperature ",[118,7058,207],{},[81,7060,7061],{},[84,7062,7063],{},[16,7064,7065],{},"water_samples[].laboratory.received_temperature",[21,7067,7068,7073,7074,751],{},[24,7069,7070,7071,6516],{},"Micrometer (",[16,7072,6389],{}," — filter pore size ",[118,7075,207],{},[81,7077,7078],{},[84,7079,7080],{},[16,7081,7082],{},"water_samples[].results[].filtration.pore_size",[21,7084,7085,27,7088,2552,7090,1491,7093,1491,7096,1491,7099,60,7102,7105],{},[24,7086,7087],{},"Unit by parameter code",[118,7089,207],{},[16,7091,7092],{},"water_samples[].results[].value",[16,7094,7095],{},"detection_limit",[16,7097,7098],{},"quantification_limit",[16,7100,7101],{},"value_precision",[16,7103,7104],{},"purge.readings[].value"," are in the canonical unit of the result's parameter (see water-quality.md § Units).",[21,7107,7108,7113],{},[24,7109,7110,7111,6516],{},"Degree (",[16,7112,6451],{}," — angles and geographic coordinates:",[81,7115,7116,7124],{},[84,7117,7118,1491,7121],{},[16,7119,7120],{},"fractures[].azimuth",[16,7122,7123],{},"fractures[].dip",[84,7125,7126,1491,7129,1491,7132,1491,7135],{},[16,7127,7128],{},"location.lat",[16,7130,7131],{},"location.lng",[16,7133,7134],{},"location.properties.lat_precision",[16,7136,7137],{},"location.properties.lng_precision",[21,7139,7140,7143],{},[24,7141,7142],{},"Unitless"," — dimensionless or domain-specific values:",[81,7145,7146,7151,7165,7171,7180,7187,7196,7207],{},[84,7147,7148,7150],{},[16,7149,1411],{}," (dimensionless)",[84,7152,7153,1491,7156,7159,7160,60,7162,6516],{},[16,7154,7155],{},"aquifer_analysis[].jacob_b",[16,7157,7158],{},"jacob_c"," (composite units; treated as the units required to make the standard Jacob equation balance with stored ",[16,7161,2472],{},[16,7163,7164],{},"length",[84,7166,7167,7170],{},[16,7168,7169],{},"aquifer_analysis[].well_efficiency_pct"," (percentage, 0–100)",[84,7172,7173,7176,7177,6516],{},[16,7174,7175],{},"aquifer_analysis[].specific_capacity"," (derived ratio in m³\u002Fh per m, i.e. ",[16,7178,7179],{},"m2\u002Fh",[84,7181,7182,7183,7186],{},"Lithology ",[16,7184,7185],{},"color"," (CSS hex string)",[84,7188,7189,1491,7192,7195],{},[16,7190,7191],{},"pump_installations[].stages",[16,7193,7194],{},"electrical.phases"," (counts)",[84,7197,7198,1491,7201,2571,7204,7195],{},[16,7199,7200],{},"permits[].monthly_schedule[].month",[16,7202,7203],{},"days",[16,7205,7206],{},"permits[].conditions[].occurrences",[84,7208,7209,7212],{},[16,7210,7211],{},"operating_regime[].days_per_week"," (count, 1–7)",[1388,7214,543,7216],{"id":7215},"water-quality-units-since-v23",[118,7217,207],{},[21,7219,7220,7221,7223,7224,7227,7228,7230],{},"Water quality results take their unit from the parameter code; only ",[16,7222,71],{}," vocabulary codes declare ",[16,7225,7226],{},"unit"," (UCUM). The unit-by-code rule and regional unit normalization are specified in ",[29,7229,45],{"href":44}," § Units.",[1388,7232,551],{"id":7233},"level-sign-convention",[21,7235,7236,7237,7240,7241,1491,7243,5566,7246,2492,7248,7251,7252,7254,7255,7257],{},"Depths are measured from ground level (0) and increase downward. Water levels above ground level are therefore ",[24,7238,7239],{},"negative",". This applies to ",[16,7242,3045],{},[16,7244,7245],{},"LevelReading.depth",[16,7247,6663],{},[16,7249,7250],{},"dynamic_level",". A negative static level is how a flowing artesian condition is recorded (see § ",[16,7253,251],{},"). This convention was implicit in v2.0 and is made explicit in v2.1 without changing semantics. It does not apply to ",[16,7256,6691],{},", which is an equipment depth and is always positive.",[1388,7259,557],{"id":7260},"diameter-and-the-as-built-convention",[21,7262,7263,7264,7267,7268,5368,7271,7274],{},"Diameters in casing, screens, surface case, and hole fill are stored as the ",[24,7265,7266],{},"as-built outer diameter in millimeters",", not as nominal manufacturer designations. A casing sold as \"6 inch\" with a real outer diameter of 168.3 mm is recorded as ",[16,7269,7270],{},"168.3",[16,7272,7273],{},"152.4"," (the literal conversion of 6 inches to mm). Nominal-to-actual mapping for common pipe and screen sizes is a market convention handled by applications — typically by the converter or input form — not by the file format.",[1388,7276,563],{"id":7277},"screen-slot",[21,7279,7280,7282,7283,7286,7287,7290],{},[16,7281,6747],{}," is in millimeters like every other diameter field. US-market slot-number designations (e.g. \"20 slot\" = 0.020 inch = 0.508 mm) are an input convenience handled by applications, not encoded in the file. The v1 field name ",[16,7284,7285],{},"screen_slot_mm"," was a legacy artifact and is renamed to ",[16,7288,7289],{},"screen_slot"," in v2; the value is in millimeters before and after.",[1388,7292,569],{"id":7293},"rationale",[21,7295,7296,7297,7299,7300,7302],{},"An interchange format with configurable units multiplies the number of valid encodings of the same well, complicates equality and comparison, and introduces a class of bugs where the declared units do not match the stored values. The ",[16,7298,18],{}," format is designed to be a canonical machine representation: one well, one encoding. Display units, input units, and locale-specific notation are concerns of the applications that read and write ",[16,7301,18],{}," files, not of the format itself. This separation matches the design of GeoJSON (WGS84 only), RFC 3339 (UTC offsets always present), and most modern interchange formats.",[21,7304,7305],{},"Producers receiving non-SI source data (imperial drilling reports, US gpm flow measurements, inch casing designations, slot-number screens) MUST convert to SI before writing. Consumers presenting the data to users in non-SI units MUST convert on read.",[21,7307,7308,7309,7311,7312,7314],{},"Conversion utilities for the common transformations are provided in ",[16,7310,1593],{}," under the ",[16,7313,6070],{}," module — m ↔ ft, mm ↔ in, m³\u002Fh ↔ L\u002Fs, m³\u002Fh ↔ US gpm, m²\u002Fs ↔ m²\u002Fd, DD ↔ DMS, slot-number ↔ mm, cv\u002Fhp ↔ kW, L \u002F ft³ \u002F US gal ↔ m³, µg\u002FL ↔ mg\u002FL, mS\u002Fm ↔ µS\u002Fcm, and similar.",[713,7316],{},[47,7318,575,7320],{"id":7319},"water-quality-parameter-vocabulary-since-v23",[118,7321,207],{},[21,7323,1608,7324,7327,7328,7330],{},[16,7325,7326],{},"welldot"," parameter vocabulary (98 codes), its rules, the CAS equivalences and the treatment of limit sets are specified in ",[29,7329,45],{"href":44}," § Parameter vocabulary.",[713,7332],{},[47,7334,7335],{"id":67},[16,7336,67],{},[21,7338,7339],{},"An optional array of HTTPS URLs declaring formal extensions to the spec that the file conforms to. Each URL MUST resolve to a JSON Schema document.",[719,7341,7343],{"className":721,"code":7342,"language":723,"meta":724,"style":724},"\"profiles\": [\n  \"https:\u002F\u002Fwelldot.org\u002Fprofiles\u002Fbrazil-ana\u002Fv1\u002Fschema.json\",\n  \"https:\u002F\u002Finspire.ec.europa.eu\u002Fschemas\u002Fgwhyd\u002F4.0\u002Fprofile.json\"\n]\n",[16,7344,7345,7357,7368,7377],{"__ignoreMap":724},[728,7346,7347,7349,7351,7353,7355],{"class":730,"line":731},[728,7348,748],{"class":734},[728,7350,67],{"class":757},[728,7352,748],{"class":734},[728,7354,4994],{"class":808},[728,7356,5416],{"class":734},[728,7358,7359,7361,7364,7366],{"class":730,"line":738},[728,7360,741],{"class":734},[728,7362,7363],{"class":757},"https:\u002F\u002Fwelldot.org\u002Fprofiles\u002Fbrazil-ana\u002Fv1\u002Fschema.json",[728,7365,748],{"class":734},[728,7367,763],{"class":734},[728,7369,7370,7372,7375],{"class":730,"line":766},[728,7371,741],{"class":734},[728,7373,7374],{"class":757},"https:\u002F\u002Finspire.ec.europa.eu\u002Fschemas\u002Fgwhyd\u002F4.0\u002Fprofile.json",[728,7376,6056],{"class":734},[728,7378,7379],{"class":730,"line":787},[728,7380,1380],{"class":734},[1388,7382,592],{"id":7383},"profile-schema-requirements",[81,7385,7386,7395,7409,7420],{},[84,7387,7388,7389,1649,7392,1808],{},"Each URL MUST be an HTTPS URL resolving to a JSON Schema document (",[16,7390,7391],{},"Content-Type: application\u002Fschema+json",[16,7393,7394],{},"application\u002Fjson",[84,7396,7397,7398,7400,7401,7404,7405,7408],{},"The schema SHOULD extend the canonical ",[16,7399,18],{}," v2 schema via ",[16,7402,7403],{},"allOf"," + ",[16,7406,7407],{},"$ref",", but this is not required.",[84,7410,7411,7412,7415,7416,7419],{},"The schema MAY link to human documentation via its ",[16,7413,7414],{},"description"," field or a custom ",[16,7417,7418],{},"x-documentation"," field pointing to a Markdown or PDF URL.",[84,7421,7422,7423,7425],{},"Profiles MAY impose additional required fields, constrain vocabulary values, or mandate the use of specific ",[16,7424,71],{}," extensions for a regulatory context.",[1388,7427,598,7429],{"id":7428},"example-a-regulatory-water-quality-profile-since-v23",[118,7430,207],{},[21,7432,7433,7434,7436],{},"See ",[29,7435,45],{"href":44}," § Regulatory profiles.",[1388,7438,606],{"id":7439},"profile-validation",[81,7441,7442,7445,7452],{},[84,7443,7444],{},"If a profile URL is unreachable, returns a non-JSON document, or fails to parse as JSON Schema, the profile is silently ignored. Parsers MUST NOT reject files whose profile URLs are unavailable.",[84,7446,7447,7448,7451],{},"A profile-aware parser SHOULD validate the file against each reachable profile schema and surface failures as ",[24,7449,7450],{},"warnings",", not errors. Conformance is asserted by the author, not enforced by the spec.",[84,7453,7454,7455,7458],{},"Profile URLs SHOULD be versioned via path segments or schema-internal ",[16,7456,7457],{},"$id"," to ensure stability.",[713,7460],{},[47,7462,612],{"id":7463},"extensibility",[1388,7465,620,7467,623],{"id":7466},"custom-fields--x--prefix",[16,7468,71],{},[21,7470,7471,7472,7474,7475,7477,7478,7480,7481,7484,7485,7488,7489,7492,7493],{},"Any implementer may add custom fields to any object by prefixing the field name with ",[16,7473,71],{},". This convention is established by OpenAPI 3.x and JSON Schema. Parsers MUST preserve and ignore ",[16,7476,71],{}," fields they do not recognize. Sub-properties within an ",[16,7479,71],{}," object do not need to be prefixed. For application extensions, ",[16,7482,7483],{},"x-\u003Cvendor>-\u003Cname>"," is RECOMMENDED (e.g. ",[16,7486,7487],{},"x-welldot-custom","), so tools that both use ",[16,7490,7491],{},"x-custom"," do not collide. ",[118,7494,120],{},[719,7496,7498],{"className":721,"code":7497,"language":723,"meta":724,"style":724},"{\n  \"id\": \"b2c3d4e5-...\",\n  \"type\": \"constant_rate\",\n  \"datetime\": \"2006-03-14T08:00:00-03:00\",\n  \"x-siagas\": {\n    \"registro\": \"SP-0042819\",\n    \"processo_ana\": \"02000.001234\u002F2006-78\"\n  }\n}\n",[16,7499,7500,7504,7523,7542,7560,7573,7592,7609,7613],{"__ignoreMap":724},[728,7501,7502],{"class":730,"line":731},[728,7503,735],{"class":734},[728,7505,7506,7508,7510,7512,7514,7516,7519,7521],{"class":730,"line":738},[728,7507,741],{"class":734},[728,7509,696],{"class":744},[728,7511,748],{"class":734},[728,7513,751],{"class":734},[728,7515,754],{"class":734},[728,7517,7518],{"class":757},"b2c3d4e5-...",[728,7520,748],{"class":734},[728,7522,763],{"class":734},[728,7524,7525,7527,7529,7531,7533,7535,7538,7540],{"class":730,"line":766},[728,7526,741],{"class":734},[728,7528,3706],{"class":744},[728,7530,748],{"class":734},[728,7532,751],{"class":734},[728,7534,754],{"class":734},[728,7536,7537],{"class":757},"constant_rate",[728,7539,748],{"class":734},[728,7541,763],{"class":734},[728,7543,7544,7546,7548,7550,7552,7554,7556,7558],{"class":730,"line":787},[728,7545,741],{"class":734},[728,7547,2711],{"class":744},[728,7549,748],{"class":734},[728,7551,751],{"class":734},[728,7553,754],{"class":734},[728,7555,2597],{"class":757},[728,7557,748],{"class":734},[728,7559,763],{"class":734},[728,7561,7562,7564,7567,7569,7571],{"class":730,"line":794},[728,7563,741],{"class":734},[728,7565,7566],{"class":744},"x-siagas",[728,7568,748],{"class":734},[728,7570,751],{"class":734},[728,7572,5956],{"class":734},[728,7574,7575,7577,7580,7582,7584,7586,7588,7590],{"class":730,"line":815},[728,7576,5493],{"class":734},[728,7578,7579],{"class":5963},"registro",[728,7581,748],{"class":734},[728,7583,751],{"class":734},[728,7585,754],{"class":734},[728,7587,5451],{"class":757},[728,7589,748],{"class":734},[728,7591,763],{"class":734},[728,7593,7594,7596,7599,7601,7603,7605,7607],{"class":730,"line":834},[728,7595,5493],{"class":734},[728,7597,7598],{"class":5963},"processo_ana",[728,7600,748],{"class":734},[728,7602,751],{"class":734},[728,7604,754],{"class":734},[728,7606,5504],{"class":757},[728,7608,6056],{"class":734},[728,7610,7611],{"class":730,"line":839},[728,7612,6061],{"class":734},[728,7614,7615],{"class":730,"line":860},[728,7616,1386],{"class":734},[21,7618,7619,7620,7622],{},"Fields without the ",[16,7621,71],{}," prefix that are not defined in this spec are technically non-conformant. Parsers MUST NOT reject such files but SHOULD emit a warning.",[1388,7624,629,7626,632],{"id":7625},"custom-top-level-blocks--x--prefix-required",[16,7627,71],{},[21,7629,7630,7631,7633,7634,7484,7636,7488,7638,7492,7640,7642],{},"Top-level blocks not defined in this spec MUST use the ",[16,7632,71],{}," prefix. For application extensions, ",[16,7635,7483],{},[16,7637,7487],{},[16,7639,7491],{},[118,7641,120],{}," Parsers MUST preserve and ignore unrecognized top-level keys.",[719,7644,7646],{"className":721,"code":7645,"language":723,"meta":724,"style":724},"{\n  \"version\": \"2.4\",\n  \"x-gas_monitoring\": [ ... ],\n  \"x-geophysical_logs\": [ ... ]\n}\n",[16,7647,7648,7652,7670,7687,7704],{"__ignoreMap":724},[728,7649,7650],{"class":730,"line":731},[728,7651,735],{"class":734},[728,7653,7654,7656,7658,7660,7662,7664,7666,7668],{"class":730,"line":738},[728,7655,741],{"class":734},[728,7657,745],{"class":744},[728,7659,748],{"class":734},[728,7661,751],{"class":734},[728,7663,754],{"class":734},[728,7665,758],{"class":757},[728,7667,748],{"class":734},[728,7669,763],{"class":734},[728,7671,7672,7674,7677,7679,7681,7683,7685],{"class":730,"line":766},[728,7673,741],{"class":734},[728,7675,7676],{"class":744},"x-gas_monitoring",[728,7678,748],{"class":734},[728,7680,751],{"class":734},[728,7682,805],{"class":734},[728,7684,809],{"class":808},[728,7686,812],{"class":734},[728,7688,7689,7691,7694,7696,7698,7700,7702],{"class":730,"line":787},[728,7690,741],{"class":734},[728,7692,7693],{"class":744},"x-geophysical_logs",[728,7695,748],{"class":734},[728,7697,751],{"class":734},[728,7699,805],{"class":734},[728,7701,809],{"class":808},[728,7703,1380],{"class":734},[728,7705,7706],{"class":730,"line":794},[728,7707,1386],{"class":734},[1388,7709,638,7711,623],{"id":7710},"custom-vocabulary-values--x--prefix",[16,7712,71],{},[21,7714,7715,7716,1408,7718,1491,7720,1408,7723,1491,7725,1408,7728,7731,7732,7735,7736,7739,7740,1408,7742,1491,7744,7746,7747,7749,7750,7752],{},"Open vocabulary fields in this spec (",[16,7717,3706],{},[16,7719,1197],{},[16,7721,7722],{},"category",[16,7724,1233],{},[16,7726,7727],{},"vocabulary",[16,7729,7730],{},"texture"," and in water quality ",[16,7733,7734],{},"parameter"," (as ",[16,7737,7738],{},"x-…"," vocabularies), ",[16,7741,4403],{},[16,7743,1215],{},[16,7745,251],{},", and any other field documented as accepting any string; not closed vocabularies such as ",[16,7748,452],{},") SHOULD use the ",[16,7751,71],{}," prefix when the value is non-canonical — i.e. not listed in the recommended vocabulary of this spec.",[21,7754,7755,7756,7758,7759,7761],{},"Parsers MUST treat ",[16,7757,71],{}," prefixed vocabulary values as valid. Promotion from ",[16,7760,71],{}," form to canonical form follows the Deprecation Policy (see § Deprecation Policy — Vocabulary value promotion).",[719,7763,7765],{"className":721,"code":7764,"language":723,"meta":724,"style":724},"{ \"type\": \"x-slug_test\" }\n{ \"category\": \"x-site_visit\" }\n{ \"method\": \"x-theis_recovery\" }\n",[16,7766,7767,7787,7808],{"__ignoreMap":724},[728,7768,7769,7771,7773,7775,7777,7779,7781,7783,7785],{"class":730,"line":731},[728,7770,2766],{"class":734},[728,7772,754],{"class":734},[728,7774,3706],{"class":744},[728,7776,748],{"class":734},[728,7778,751],{"class":734},[728,7780,754],{"class":734},[728,7782,1867],{"class":757},[728,7784,748],{"class":734},[728,7786,2804],{"class":734},[728,7788,7789,7791,7793,7795,7797,7799,7801,7804,7806],{"class":730,"line":738},[728,7790,2766],{"class":734},[728,7792,754],{"class":734},[728,7794,7722],{"class":744},[728,7796,748],{"class":734},[728,7798,751],{"class":734},[728,7800,754],{"class":734},[728,7802,7803],{"class":757},"x-site_visit",[728,7805,748],{"class":734},[728,7807,2804],{"class":734},[728,7809,7810,7812,7814,7816,7818,7820,7822,7825,7827],{"class":730,"line":766},[728,7811,2766],{"class":734},[728,7813,754],{"class":734},[728,7815,4403],{"class":744},[728,7817,748],{"class":734},[728,7819,751],{"class":734},[728,7821,754],{"class":734},[728,7823,7824],{"class":757},"x-theis_recovery",[728,7826,748],{"class":734},[728,7828,2804],{"class":734},[713,7830],{},[47,7832,646,7834],{"id":7833},"offline-packaging-since-v24",[118,7835,120],{},[21,7837,1628,7838,7840,7841,7843,7844,75],{},[16,7839,18],{}," file references its attachments by absolute URL, and HTTPS links may expire. For regulators and long-term archiving, a ",[16,7842,18],{}," file MAY be delivered as an offline package: a ZIP archive with the extension ",[16,7845,7846],{},".wellz",[81,7848,7849,7854,7865],{},[84,7850,1608,7851,7853],{},[16,7852,18],{}," file sits at the archive root, and the attachments sit at relative paths inside the archive.",[84,7855,7856,7857,7860,7861,7864],{},"In this mode an ",[16,7858,7859],{},"Attachment.uri"," MAY be a relative path to the file inside the archive, and ",[16,7862,7863],{},"sha256"," is required.",[84,7866,7867,7868,7871,7872,7874,7875,7877],{},"Outside a package, ",[16,7869,7870],{},"uri"," stays an absolute URL. A relative ",[16,7873,7870],{}," in a bare ",[16,7876,18],{}," file is not valid.",[21,7879,7880,7881,7883,7884,7886,7887,7889,7890,7892,7893,7895],{},"The package is a delivery wrapper, not a second format: the ",[16,7882,18],{}," file inside it is an ordinary ",[16,7885,18],{}," file. Validators and parsers read the ",[16,7888,18],{}," alone, so the schema keeps ",[16,7891,7870],{}," as a URL; resolving relative paths and checking ",[16,7894,7863],{}," is the job of the tool that opens the package.",[713,7897],{},[47,7899,654],{"id":7900},"cross-reference-and-uniqueness-rules",[21,7902,1608,7903,7905],{},[16,7904,18],{}," format uses string IDs to link records across arrays. This section is the single normative source for ID semantics.",[1388,7907,662],{"id":7908},"uniqueness-scope",[21,7910,7911,7912,7915],{},"Each ID-bearing array maintains its ",[24,7913,7914],{},"own uniqueness scope",". The ID namespaces are independent:",[81,7917,7918,7926,7933,7940,7949,7958,7970,7981,7991,8001,8010,8019,8034,8043,8075],{},[84,7919,7920,7923,7924],{},[16,7921,7922],{},"hydrodynamic_events[].id"," — unique within ",[16,7925,1197],{},[84,7927,7928,7923,7931],{},[16,7929,7930],{},"aquifer_analysis[].id",[16,7932,1215],{},[84,7934,7935,7923,7938],{},[16,7936,7937],{},"history_logs[].id",[16,7939,1233],{},[84,7941,7942,7923,7945,27,7947],{},[16,7943,7944],{},"pump_installations[].id",[16,7946,1274],{},[118,7948,207],{},[84,7950,7951,7923,7954,27,7956],{},[16,7952,7953],{},"permits[].id",[16,7955,1292],{},[118,7957,207],{},[84,7959,7960,7963,7964,7967,7968],{},[16,7961,7962],{},"permits[].conditions[].id"," — unique within the ",[16,7965,7966],{},"conditions"," array of one permit ",[118,7969,207],{},[84,7971,7972,7963,7975,7978,7979],{},[16,7973,7974],{},"permits[].conditions[].fulfillments[].id",[16,7976,7977],{},"fulfillments"," array of one condition ",[118,7980,207],{},[84,7982,7983,7963,7986,7967,7989],{},[16,7984,7985],{},"permits[].history[].id",[16,7987,7988],{},"history",[118,7990,207],{},[84,7992,7993,60,7995,7998,7999],{},[16,7994,7200],{},[16,7996,7997],{},"permits[].volume_limits[].period"," — unique within one permit ",[118,8000,207],{},[84,8002,8003,7923,8006,27,8008],{},[16,8004,8005],{},"meters[].id",[16,8007,1310],{},[118,8009,207],{},[84,8011,8012,7923,8015,27,8017],{},[16,8013,8014],{},"production[].id",[16,8016,1328],{},[118,8018,207],{},[84,8020,8021,7923,8024,27,8026,8028,8029,8031,8032],{},[16,8022,8023],{},"operating_regime[].id",[16,8025,1346],{},[118,8027,207],{},". ",[16,8030,2685],{}," is not unique: duplicates are a warning ",[118,8033,120],{},[84,8035,8036,7923,8039,27,8041],{},[16,8037,8038],{},"water_samples[].id",[16,8040,1369],{},[118,8042,207],{},[84,8044,8045,8048,8049,8051,8052,8054,8055,1491,8057,1491,8059,1491,8062,1491,8064,1491,8066,1491,8068,1491,8070,1491,8072,8074],{},[16,8046,8047],{},"attachments[].id"," — unique within its owning array: the root ",[16,8050,1256],{},", or the ",[16,8053,1256],{}," array of one record (",[16,8056,1233],{},[16,8058,1292],{},[16,8060,8061],{},"permits[].history",[16,8063,5192],{},[16,8065,1274],{},[16,8067,1310],{},[16,8069,1197],{},[16,8071,1215],{},[16,8073,1369],{},"). The same id may appear under different records.",[84,8076,8077,8080,8081,8083,8084,8086],{},[16,8078,8079],{},"well_id[]"," — uniqueness is on the composite key ",[16,8082,5394],{},", not on ",[16,8085,696],{}," alone",[21,8088,8089,8090,8093],{},"An ID value MAY repeat across different arrays without conflict (e.g. an event and an analysis MAY both use the ID ",[16,8091,8092],{},"\"001\"","), though distinct values are recommended for clarity.",[1388,8095,668],{"id":8096},"cross-array-references",[21,8098,8099],{},"The following fields hold references to IDs in other arrays:",[1426,8101,8102,8115],{},[1429,8103,8104],{},[1432,8105,8106,8109,8112],{},[1435,8107,8108],{},"Reference field",[1435,8110,8111],{},"Points to",[1435,8113,8114],{},"Resolution scope",[1442,8116,8117,8131,8144,8156,8169,8182,8195,8208,8221,8234,8247,8260,8273,8286,8299,8312],{},[1432,8118,8119,8124,8128],{},[1447,8120,8121],{},[16,8122,8123],{},"aquifer_analysis[].source_event_ids[]",[1447,8125,8126],{},[16,8127,7922],{},[1447,8129,8130],{},"Same file only",[1432,8132,8133,8138,8142],{},[1447,8134,8135],{},[16,8136,8137],{},"aquifer_analysis[].static_level_source_id",[1447,8139,8140],{},[16,8141,7922],{},[1447,8143,8130],{},[1432,8145,8146,8150,8154],{},[1447,8147,8148],{},[16,8149,1530],{},[1447,8151,8152],{},[16,8153,7922],{},[1447,8155,8130],{},[1432,8157,8158,8163,8167],{},[1447,8159,8160],{},[16,8161,8162],{},"production[].corrects",[1447,8164,8165],{},[16,8166,8014],{},[1447,8168,8130],{},[1432,8170,8171,8176,8180],{},[1447,8172,8173],{},[16,8174,8175],{},"production[].meter_id",[1447,8177,8178],{},[16,8179,8005],{},[1447,8181,8130],{},[1432,8183,8184,8189,8193],{},[1447,8185,8186],{},[16,8187,8188],{},"permits[].supersedes",[1447,8190,8191],{},[16,8192,7953],{},[1447,8194,8130],{},[1432,8196,8197,8202,8206],{},[1447,8198,8199],{},[16,8200,8201],{},"history_logs[].pump_installation_id",[1447,8203,8204],{},[16,8205,7944],{},[1447,8207,8130],{},[1432,8209,8210,8215,8219],{},[1447,8211,8212],{},[16,8213,8214],{},"history_logs[].meter_id",[1447,8216,8217],{},[16,8218,8005],{},[1447,8220,8130],{},[1432,8222,8223,8228,8232],{},[1447,8224,8225],{},[16,8226,8227],{},"history_logs[].hydrodynamic_event_ids[]",[1447,8229,8230],{},[16,8231,7922],{},[1447,8233,8130],{},[1432,8235,8236,8241,8245],{},[1447,8237,8238],{},[16,8239,8240],{},"history_logs[].sample_ids[]",[1447,8242,8243],{},[16,8244,8038],{},[1447,8246,8130],{},[1432,8248,8249,8254,8258],{},[1447,8250,8251],{},[16,8252,8253],{},"permits[].conditions[].fulfillments[].event_id",[1447,8255,8256],{},[16,8257,7922],{},[1447,8259,8130],{},[1432,8261,8262,8267,8271],{},[1447,8263,8264],{},[16,8265,8266],{},"permits[].conditions[].fulfillments[].sample_id",[1447,8268,8269],{},[16,8270,8038],{},[1447,8272,8130],{},[1432,8274,8275,8280,8284],{},[1447,8276,8277],{},[16,8278,8279],{},"water_samples[].corrects",[1447,8281,8282],{},[16,8283,8038],{},[1447,8285,8130],{},[1432,8287,8288,8293,8297],{},[1447,8289,8290],{},[16,8291,8292],{},"water_samples[].parent_sample_id",[1447,8294,8295],{},[16,8296,8038],{},[1447,8298,8130],{},[1432,8300,8301,8306,8310],{},[1447,8302,8303],{},[16,8304,8305],{},"water_samples[].static_level_event_id",[1447,8307,8308],{},[16,8309,7922],{},[1447,8311,8130],{},[1432,8313,8314,8319,8323],{},[1447,8315,8316],{},[16,8317,8318],{},"water_samples[].sampling_point.pump_installation_id",[1447,8320,8321],{},[16,8322,7944],{},[1447,8324,8130],{},[21,8326,8327,8328,8330,8331,1491,8333,8335,8336,8338,8339,6910,8341,1491,8343,1491,8345,1491,8347,1649,8349,8351,8352,8354],{},"Root ",[16,8329,1256],{}," is not a registry: records never reference root attachments by id. Nor is it an aggregate: it holds only general files about the well as a whole (e.g. the drilling report), never copies of the attachments of ",[16,8332,1233],{},[16,8334,1292],{}," (including their ",[16,8337,7988],{}," entries and condition ",[16,8340,7977],{},[16,8342,1274],{},[16,8344,1310],{},[16,8346,1197],{},[16,8348,1215],{},[16,8350,1369],{}," entries. A document that concerns several records is repeated on each; ",[16,8353,7863],{}," guarantees both copies point to the same file.",[21,8356,8357],{},"Cross-file references are not supported in v2.",[1388,8359,674],{"id":8360},"dangling-references",[21,8362,1628,8363,8366],{},[24,8364,8365],{},"dangling reference"," is a reference field whose value does not match any ID in the target array.",[81,8368,8369,8372,8375],{},[84,8370,8371],{},"Dangling references MUST emit a warning naming the referring field, the referring object's ID, and the missing target ID.",[84,8373,8374],{},"Dangling references MUST NOT cause file rejection. Events may be legitimately deleted from history (regulatory retention rules, GDPR-style erasure) leaving analyses that reference them stranded.",[84,8376,8377,8378],{},"Consumers MUST preserve unresolved references when re-exporting and MUST NOT remove them silently. Removing a reference is always a deliberate user action, never a side effect of import or export. ",[118,8379,120],{},[1388,8381,680,8383],{"id":8382},"repeated-records-since-v24",[118,8384,120],{},[21,8386,8387],{},"Collective permits and campaign blanks apply to several wells, so they are repeated in each well's file.",[81,8389,8390,8396,8401],{},[84,8391,8392,8393,8395],{},"Copies MUST share the same ",[16,8394,696],{}," and SHOULD have identical content.",[84,8397,8398,8399,75],{},"Consumers MAY merge copies by ",[16,8400,696],{},[84,8402,8403,8404,1649,8407,8410],{},"A fulfillment's ",[16,8405,8406],{},"event_id",[16,8408,8409],{},"sample_id"," resolves only in the file of the well that produced it. In the other copies it is an expected unresolved reference and emits no warning.",[1388,8412,688],{"id":8413},"duplicate-ids-within-a-scope",[21,8415,1628,8416,8419,8420,8422,8423,8425],{},[24,8417,8418],{},"duplicate ID"," occurs when two records in the same uniqueness scope share the same ID (or, for ",[16,8421,59],{},", the same ",[16,8424,5394],{}," pair).",[21,8427,8428,8429,751],{},"Duplicate IDs are ",[24,8430,8431],{},"malformed but recoverable",[81,8433,8434,8437,8440,8465,8468],{},[84,8435,8436],{},"Parsers MUST NOT silently accept duplicate IDs. The file is considered malformed.",[84,8438,8439],{},"Parsers MUST NOT silently rewrite duplicate IDs. Automatic renaming would change the object graph in a way that downstream references cannot detect.",[84,8441,8442,8443],{},"Interactive applications MUST surface the duplication to the user with sufficient context to decide:\n",[81,8444,8445,8448,8451],{},[84,8446,8447],{},"The IDs in conflict",[84,8449,8450],{},"A summary of each conflicting record (datetime, type, key fields)",[84,8452,8453,8454,8457,8458,8461,8462,75],{},"The choices: ",[24,8455,8456],{},"merge"," (keep one, discard the other), ",[24,8459,8460],{},"rename"," (assign a new ID to one of them, updating any references in the same file), or ",[24,8463,8464],{},"abort load",[84,8466,8467],{},"Non-interactive parsers (batch importers, server-side validators) MUST reject the file with a clear error rather than guess.",[84,8469,8470,8471,8473,8474,8477],{},"Any user-confirmed resolution MUST be logged as a ",[16,8472,1233],{}," entry with ",[16,8475,8476],{},"category: \"event\""," describing what was changed.",[21,8479,8480,8481,8483],{},"The objective is deterministic load behavior: a ",[16,8482,18],{}," file MUST produce the same object graph across all conformant parsers under default settings. User-mediated repair is the only path that can deviate from this, and it must be explicit.",[1388,8485,8487,697],{"id":8486},"id-field-convention",[16,8488,696],{},[21,8490,5358,8491,8493,8494,8496,8497,8500],{},[16,8492,696],{}," fields are ",[16,8495,1944],{}," type. UUID v4 is recommended for new records. Sequential strings (e.g. ",[16,8498,8499],{},"\"evt-001\"",") are valid for manually authored files. Numeric IDs from external systems are converted per the rule documented in § well_id (Numeric ID conversion).",[713,8502],{},[47,8504,703],{"id":8505},"precision-and-uncertainty",[21,8507,8508],{},"Optional one-sigma precision qualifiers are defined for the most consequential measurement fields. Parsers that do not recognize them ignore them per the foreign-members rule.",[21,8510,8511,8512,8515],{},"The precision field name is the measurement field name suffixed with ",[16,8513,8514],{},"_precision",". The unit of the precision value is the unit of the measurement it qualifies.",[1388,8517,711],{"id":8518},"supported-precision-fields",[1426,8520,8521,8534],{},[1429,8522,8523],{},[1432,8524,8525,8528,8531],{},[1435,8526,8527],{},"Measurement",[1435,8529,8530],{},"Precision field",[1435,8532,8533],{},"Defined on",[1442,8535,8536,8550,8564,8578,8594,8608,8627,8643,8657,8674],{},[1432,8537,8538,8542,8546],{},[1447,8539,8540],{},[16,8541,5562],{},[1447,8543,8544],{},[16,8545,5722],{},[1447,8547,8548],{},[16,8549,503],{},[1432,8551,8552,8556,8560],{},[1447,8553,8554],{},[16,8555,5565],{},[1447,8557,8558],{},[16,8559,5739],{},[1447,8561,8562],{},[16,8563,503],{},[1432,8565,8566,8570,8574],{},[1447,8567,8568],{},[16,8569,5569],{},[1447,8571,8572],{},[16,8573,5754],{},[1447,8575,8576],{},[16,8577,503],{},[1432,8579,8580,8584,8588],{},[1447,8581,8582],{},[16,8583,3045],{},[1447,8585,8586],{},[16,8587,6625],{},[1447,8589,8590,8591],{},"events, ",[16,8592,8593],{},"AquiferAnalysis",[1432,8595,8596,8600,8604],{},[1447,8597,8598],{},[16,8599,7250],{},[1447,8601,8602],{},[16,8603,6673],{},[1447,8605,8606],{},[16,8607,8593],{},[1432,8609,8610,8615,8619],{},[1447,8611,8612],{},[16,8613,8614],{},"depth",[1447,8616,8617],{},[16,8618,6633],{},[1447,8620,8621,1491,8624],{},[16,8622,8623],{},"LevelReading",[16,8625,8626],{},"Fracture",[1432,8628,8629,8634,8638],{},[1447,8630,8631],{},[16,8632,8633],{},"rate",[1447,8635,8636],{},[16,8637,6794],{},[1447,8639,8640],{},[16,8641,8642],{},"PumpingStep",[1432,8644,8645,8649,8653],{},[1447,8646,8647],{},[16,8648,2472],{},[1447,8650,8651],{},[16,8652,6802],{},[1447,8654,8655],{},[16,8656,8593],{},[1432,8658,8659,8663,8667],{},[1447,8660,8661],{},[16,8662,8614],{},[1447,8664,8665],{},[16,8666,6633],{},[1447,8668,8669,27,8672],{},[16,8670,8671],{},"SamplingPoint",[118,8673,207],{},[1432,8675,8676,8680,8684],{},[1447,8677,8678],{},[16,8679,2905],{},[1447,8681,8682],{},[16,8683,7101],{},[1447,8685,8686,8687,27,8690],{},"water quality ",[16,8688,8689],{},"Result",[118,8691,207],{},[21,8693,8694],{},"All precision fields are optional. When omitted, the measurement value carries no documented precision. Precision is the one-sigma standard deviation in the same unit as the measurement.",[21,8696,8697,8698,8701],{},"Laboratory reports usually give an expanded uncertainty U with a coverage factor k (typically k = 2). Converters store ",[16,8699,8700],{},"value_precision = U \u002F k",", never U itself.",[719,8703,8705],{"className":721,"code":8704,"language":723,"meta":724,"style":724},"{ \"depth\": 44.8, \"depth_precision\": 0.01 }\n",[16,8706,8707],{"__ignoreMap":724},[728,8708,8709,8711,8713,8715,8717,8719,8722,8724,8726,8728,8730,8732,8735],{"class":730,"line":731},[728,8710,2766],{"class":734},[728,8712,754],{"class":734},[728,8714,8614],{"class":744},[728,8716,748],{"class":734},[728,8718,751],{"class":734},[728,8720,8721],{"class":5910}," 44.8",[728,8723,2785],{"class":734},[728,8725,754],{"class":734},[728,8727,6633],{"class":744},[728,8729,748],{"class":734},[728,8731,751],{"class":734},[728,8733,8734],{"class":5910}," 0.01",[728,8736,2804],{"class":734},[713,8738],{},[21,8740,8741],{},[118,8742,8743,8745],{},[16,8744,18],{}," Format Specification v2.4",[8747,8748,8749],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":724,"searchDepth":738,"depth":738,"links":8751},[8752,8753,8754,8758,8761,8767,8777,8782,8783,8785,8787,8789,8791,8793,8795,8797,8799,8801,8803,8805,8807,8809,8811,8813,8815,8817,8819,8821,8823,8825,8827,8829,8833,8839,8849,8851,8857,8865,8867,8877],{"id":49,"depth":738,"text":50},{"id":78,"depth":738,"text":79},{"id":717,"depth":738,"text":108,"children":8755},[8756],{"id":1390,"depth":766,"text":8757},"Absent values (since v2.4)",{"id":1424,"depth":738,"text":126,"children":8759},[8760],{"id":1605,"depth":766,"text":134},{"id":1734,"depth":738,"text":140,"children":8762},[8763,8764,8765,8766],{"id":1772,"depth":766,"text":148},{"id":1823,"depth":766,"text":154},{"id":1858,"depth":766,"text":160},{"id":1888,"depth":766,"text":166},{"id":1896,"depth":738,"text":172,"children":8768},[8769,8770,8771,8772,8773,8775],{"id":1899,"depth":766,"text":180},{"id":2026,"depth":766,"text":186},{"id":2106,"depth":766,"text":192},{"id":2156,"depth":766,"text":198},{"id":2305,"depth":766,"text":8774},"Block kinds (since v2.3)",{"id":2460,"depth":766,"text":8776},"Naming rules (since v2.3)",{"id":2541,"depth":738,"text":221,"children":8778},[8779,8781],{"id":2744,"depth":766,"text":8780},"Instants known only by date (since v2.3)",{"id":2850,"depth":766,"text":237},{"id":2876,"depth":738,"text":243},{"id":2924,"depth":738,"text":8784},"well_type — Recommended values",{"id":3055,"depth":738,"text":8786},"well_purpose — Recommended values (since v2.1)",{"id":3200,"depth":738,"text":8788},"bore_hole[].drilling_method — Recommended values (since v2.3)",{"id":3291,"depth":738,"text":8790},"Construction materials — Recommended values (since v2.3)",{"id":3406,"depth":738,"text":8792},"well_screen[].slot_type — Recommended values (since v2.3)",{"id":3523,"depth":738,"text":8794},"centralizers[].type — Recommended values (since v2.1)",{"id":3631,"depth":738,"text":8796},"cement_pad.type — Recommended values (since v2.3)",{"id":3712,"depth":738,"text":8798},"pump_installations[].type — Recommended values (since v2.3)",{"id":3822,"depth":738,"text":8800},"pump_installations[].power_source — Recommended values (since v2.3)",{"id":3881,"depth":738,"text":8802},"permits[].type — Recommended values (since v2.3)",{"id":3991,"depth":738,"text":8804},"permits[].water_use — Recommended values (since v2.3)",{"id":4079,"depth":738,"text":8806},"permits[].conditions[].category — Recommended values (since v2.3)",{"id":4182,"depth":738,"text":8808},"permits[].history[].type — Recommended values (since v2.3)",{"id":4282,"depth":738,"text":8810},"meters[].type — Recommended values (since v2.3)",{"id":4335,"depth":738,"text":8812},"production[] — Recommended values (since v2.3)",{"id":4462,"depth":738,"text":8814},"water_samples[] — Recommended values (since v2.3)",{"id":4488,"depth":738,"text":8816},"hydrodynamic_events[].measurement_method — Recommended values",{"id":4575,"depth":738,"text":8818},"aquifer_analysis[].method — Recommended values",{"id":4683,"depth":738,"text":8820},"history_logs[].category — Recommended values",{"id":4784,"depth":738,"text":8822},"history_logs[].severity — Recommended values",{"id":4859,"depth":738,"text":8824},"history_logs[].maintenance_type — Recommended values (since v2.3)",{"id":4980,"depth":738,"text":8826},"history_logs[].status — Allowed values (since v2.3)",{"id":5094,"depth":738,"text":8828},"Attachment.document_type — Recommended values (since v2.3)",{"id":59,"depth":738,"text":59,"children":8830},[8831,8832],{"id":5355,"depth":766,"text":480},{"id":5388,"depth":766,"text":486},{"id":63,"depth":738,"text":63,"children":8834},[8835,8836,8838],{"id":5660,"depth":766,"text":503},{"id":5799,"depth":766,"text":8837},"elevation_datum — Recommended values",{"id":5870,"depth":766,"text":517},{"id":6070,"depth":738,"text":523,"children":8840},[8841,8842,8843,8845,8846,8847,8848],{"id":6083,"depth":766,"text":531},{"id":6508,"depth":766,"text":537},{"id":7215,"depth":766,"text":8844},"Water quality units (since v2.3)",{"id":7233,"depth":766,"text":551},{"id":7260,"depth":766,"text":557},{"id":7277,"depth":766,"text":563},{"id":7293,"depth":766,"text":569},{"id":7319,"depth":738,"text":8850},"Water quality parameter vocabulary (since v2.3)",{"id":67,"depth":738,"text":67,"children":8852},[8853,8854,8856],{"id":7383,"depth":766,"text":592},{"id":7428,"depth":766,"text":8855},"Example: a regulatory water quality profile (since v2.3)",{"id":7439,"depth":766,"text":606},{"id":7463,"depth":738,"text":612,"children":8858},[8859,8861,8863],{"id":7466,"depth":766,"text":8860},"Custom fields — x- prefix",{"id":7625,"depth":766,"text":8862},"Custom top-level blocks — x- prefix required",{"id":7710,"depth":766,"text":8864},"Custom vocabulary values — x- prefix",{"id":7833,"depth":738,"text":8866},"Offline packaging (since v2.4)",{"id":7900,"depth":738,"text":654,"children":8868},[8869,8870,8871,8872,8874,8875],{"id":7908,"depth":766,"text":662},{"id":8096,"depth":766,"text":668},{"id":8360,"depth":766,"text":674},{"id":8382,"depth":766,"text":8873},"Repeated records (since v2.4)",{"id":8413,"depth":766,"text":688},{"id":8486,"depth":766,"text":8876},"id field convention",{"id":8505,"depth":738,"text":703,"children":8878},[8879],{"id":8518,"depth":766,"text":711},"See also: overview.md · object-schemas.md · interoperability.md · water-quality.md","md",{},"\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","# `.well` File Format Specification — Version 2.4: Format Reference\n\n**See also:** [overview.md](.\u002Foverview.md) · [object-schemas.md](.\u002Fobject-schemas.md) · [interoperability.md](.\u002Finteroperability.md) · [water-quality.md](.\u002Fwater-quality.md)\n\n## Overview\n\nThis part of the `.well` v2.4 specification defines the file as a whole: the top-level structure and fields, how versions and deprecations work, datetime conventions, the recommended values of every open vocabulary, `well_id` and `location`, the canonical units and which unit each field uses, `profiles`, the `x-` extension rules, cross-reference and uniqueness rules, and precision fields. The objects inside each block are specified in [object-schemas.md](.\u002Fobject-schemas.md).\n\n## Table of contents\n\n- [`.well` File Format Specification — Version 2.4: Format Reference](#well-file-format-specification--version-24-format-reference)\n  - [Overview](#overview)\n  - [Table of contents](#table-of-contents)\n  - [Top-level Structure](#top-level-structure)\n    - [Absent values _(since v2.4)_](#absent-values-since-v24)\n  - [Versioning](#versioning)\n    - [Parser version handling](#parser-version-handling)\n  - [Deprecation Policy](#deprecation-policy)\n    - [Field lifecycle](#field-lifecycle)\n    - [Parser behavior](#parser-behavior)\n    - [Vocabulary value promotion](#vocabulary-value-promotion)\n    - [Canonical deprecation registry](#canonical-deprecation-registry)\n  - [Top-level Fields](#top-level-fields)\n    - [Core identity](#core-identity)\n    - [v2 additions](#v2-additions)\n    - [v2.1 additions](#v21-additions)\n    - [v2.3 additions](#v23-additions)\n    - [Block kinds _(since v2.3)_](#block-kinds-since-v23)\n    - [Naming rules _(since v2.3)_](#naming-rules-since-v23)\n  - [Datetime Conventions](#datetime-conventions)\n    - [Instants known only by date _(since v2.3)_](#instants-known-only-by-date-since-v23)\n    - [Ordering and ties](#ordering-and-ties)\n  - [Recommended vocabularies](#recommended-vocabularies)\n  - [`well_type` — Recommended values](#well_type--recommended-values)\n  - [`well_purpose` — Recommended values _(since v2.1)_](#well_purpose--recommended-values-since-v21)\n  - [`bore_hole[].drilling_method` — Recommended values _(since v2.3)_](#bore_holedrilling_method--recommended-values-since-v23)\n  - [Construction materials — Recommended values _(since v2.3)_](#construction-materials--recommended-values-since-v23)\n  - [`well_screen[].slot_type` — Recommended values _(since v2.3)_](#well_screenslot_type--recommended-values-since-v23)\n  - [`centralizers[].type` — Recommended values _(since v2.1)_](#centralizerstype--recommended-values-since-v21)\n  - [`cement_pad.type` — Recommended values _(since v2.3)_](#cement_padtype--recommended-values-since-v23)\n  - [`pump_installations[].type` — Recommended values _(since v2.3)_](#pump_installationstype--recommended-values-since-v23)\n  - [`pump_installations[].power_source` — Recommended values _(since v2.3)_](#pump_installationspower_source--recommended-values-since-v23)\n  - [`permits[].type` — Recommended values _(since v2.3)_](#permitstype--recommended-values-since-v23)\n  - [`permits[].water_use` — Recommended values _(since v2.3)_](#permitswater_use--recommended-values-since-v23)\n  - [`permits[].conditions[].category` — Recommended values _(since v2.3)_](#permitsconditionscategory--recommended-values-since-v23)\n  - [`permits[].history[].type` — Recommended values _(since v2.3)_](#permitshistorytype--recommended-values-since-v23)\n  - [`meters[].type` — Recommended values _(since v2.3)_](#meterstype--recommended-values-since-v23)\n  - [`production[]` — Recommended values _(since v2.3)_](#production--recommended-values-since-v23)\n  - [`water_samples[]` — Recommended values _(since v2.3)_](#water_samples--recommended-values-since-v23)\n  - [`hydrodynamic_events[].measurement_method` — Recommended values](#hydrodynamic_eventsmeasurement_method--recommended-values)\n  - [`aquifer_analysis[].method` — Recommended values](#aquifer_analysismethod--recommended-values)\n  - [`history_logs[].category` — Recommended values](#history_logscategory--recommended-values)\n  - [`history_logs[].severity` — Recommended values](#history_logsseverity--recommended-values)\n  - [`history_logs[].maintenance_type` — Recommended values _(since v2.3)_](#history_logsmaintenance_type--recommended-values-since-v23)\n  - [`history_logs[].status` — Allowed values _(since v2.3)_](#history_logsstatus--allowed-values-since-v23)\n  - [`Attachment.document_type` — Recommended values _(since v2.3)_](#attachmentdocument_type--recommended-values-since-v23)\n  - [`well_id`](#well_id)\n    - [Numeric ID conversion](#numeric-id-conversion)\n    - [Uniqueness](#uniqueness)\n  - [`location`](#location)\n    - [`LocationProperties`](#locationproperties)\n    - [`elevation_datum` — Recommended values](#elevation_datum--recommended-values)\n    - [CRS scope](#crs-scope)\n  - [Units](#units)\n    - [Canonical units](#canonical-units)\n    - [Field-to-unit binding (normative)](#field-to-unit-binding-normative)\n    - [Water quality units _(since v2.3)_](#water-quality-units-since-v23)\n    - [Level sign convention](#level-sign-convention)\n    - [Diameter and the as-built convention](#diameter-and-the-as-built-convention)\n    - [Screen slot](#screen-slot)\n    - [Rationale](#rationale)\n  - [Water quality parameter vocabulary _(since v2.3)_](#water-quality-parameter-vocabulary-since-v23)\n  - [`profiles`](#profiles)\n    - [Profile schema requirements](#profile-schema-requirements)\n    - [Example: a regulatory water quality profile _(since v2.3)_](#example-a-regulatory-water-quality-profile-since-v23)\n    - [Profile validation](#profile-validation)\n  - [Extensibility](#extensibility)\n    - [Custom fields — `x-` prefix](#custom-fields--x--prefix)\n    - [Custom top-level blocks — `x-` prefix required](#custom-top-level-blocks--x--prefix-required)\n    - [Custom vocabulary values — `x-` prefix](#custom-vocabulary-values--x--prefix)\n  - [Offline packaging _(since v2.4)_](#offline-packaging-since-v24)\n  - [Cross-reference and Uniqueness Rules](#cross-reference-and-uniqueness-rules)\n    - [Uniqueness scope](#uniqueness-scope)\n    - [Cross-array references](#cross-array-references)\n    - [Dangling references](#dangling-references)\n    - [Repeated records _(since v2.4)_](#repeated-records-since-v24)\n    - [Duplicate IDs within a scope](#duplicate-ids-within-a-scope)\n    - [`id` field convention](#id-field-convention)\n  - [Precision and Uncertainty](#precision-and-uncertainty)\n    - [Supported precision fields](#supported-precision-fields)\n\n---\n\n## Top-level Structure\n\n```json\n{\n  \"version\": \"2.4\",\n  \"@context\": \"https:\u002F\u002Fwelldot.org\u002Fcontext\u002Fv2.jsonld\",\n\n  \"well_id\": [ ... ],\n  \"location\": { ... },\n\n  \"name\": \"...\",\n  \"well_type\": \"...\",\n  \"well_purpose\": [ ... ],\n  \"well_driller\": \"...\",\n  \"construction_date\": \"YYYY-MM-DD\",\n  \"obs\": \"...\",\n\n  \"profiles\": [ ... ],\n\n  \"bore_hole\": [ ... ],\n  \"well_case\": [ ... ],\n  \"reduction\": [ ... ],\n  \"well_screen\": [ ... ],\n  \"surface_case\": [ ... ],\n  \"hole_fill\": [ ... ],\n  \"centralizers\": [ ... ],\n  \"cement_pad\": { ... },\n\n  \"lithology\": [ ... ],\n  \"fractures\": [ ... ],\n  \"caves\": [ ... ],\n\n  \"hydrodynamic_events\": [ ... ],\n  \"aquifer_analysis\": [ ... ],\n  \"history_logs\": [ ... ],\n\n  \"attachments\": [ ... ],\n  \"pump_installations\": [ ... ],\n  \"permits\": [ ... ],\n  \"meters\": [ ... ],\n  \"production\": [ ... ],\n  \"operating_regime\": [ ... ],\n\n  \"water_samples\": [ ... ]\n}\n```\n\n### Absent values _(since v2.4)_\n\nAn optional field without a value is omitted, never written as `null`. A `null` in an optional field is malformed. Absent means unknown.\n\nReaders accept `null` in `aquifer_analysis[].storativity` only in files whose `version` is the integer `2`, and treat it as absent.\n\n---\n\n## Versioning\n\n| Version | Description                                                                                                                                                                                                                                                           |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `1`     | Initial release — constructive and geologic data only                                                                                                                                                                                                                 |\n| `2`     | Adds location, well_id (array), profiles, texture object, hydrodynamic_events, aquifer_analysis, history_logs, optional @context, \\*\\_precision fields, and extensibility conventions. Tightens unit semantics: all values are canonical SI, no per-file declaration. |\n| `\"2.4\"` | Version written as the string `\"M.m\"` (_since v2.4_). Read as v2; the integer `2` means v2.0 to v2.3.                                                                                                                                                                 |\n\nMinor revisions (`2.1`, `2.3`, …) are additive. Up to v2.3 they did not change the `version` integer: a v2.3 document declares `\"version\": 2`. A v2.0 parser reading a v2.1 document sees the v2.1 fields (`well_purpose`, `centralizers`) as unrecognized members without the `x-` prefix. Per § Extensibility it MUST preserve them and MUST NOT reject the file, and it SHOULD emit a warning.\n\nThe same rule applies to v2.3: a v2.0 or v2.1 parser reading a v2.3 document sees `attachments`, `pump_installations`, `permits`, `meters`, `production`, `operating_regime`, `water_samples`, `hydrodynamic_events[].corrects`, the `history_logs` data links (`hydrodynamic_event_ids`, `sample_ids`) and category-specific fields (`maintenance`, `status_change`) and the nested `attachments` arrays as unrecognized members. It MUST preserve them, MUST NOT reject the file, and SHOULD emit a warning. Such a parser does not know `corrects`, so it may still count a retracted event; this is the expected degradation.\n\n_(since v2.4)_ The version is written as the string `\"M.m\"` (for example `\"2.4\"`). Versions are compared as two integers, never as text: `\"2.10\"` is greater than `\"2.9\"`. Patch levels (`\"2.4.1\"`) are not allowed. The integer `2` means v2.0 to v2.3 with the revision unknown, and it remains valid for reading. There is no separate `spec_version` field.\n\n**Intentional break.** A parser of `@welldot\u002Fcore` 0.4.0 or earlier rejects `\"2.4\"` files because it only accepts the integers `1` and `2`. This is the one intentional exception to the minor-revision compatibility rule above. Upgrade readers before writing v2.4 files.\n\n### Parser version handling\n\nThe `version` field MUST be written by producers. It takes one of three forms: the integer `1`, the integer `2`, or a string `\"M.m\"` matching `^\\d+\\.\\d+$`.\n\n- A `version` that is none of these forms (`2.4` as a JSON number, `\"2.4.1\"`, `\"v2.4\"`, `\"2\"`) is malformed. A parser MUST reject the file with an error that names the value.\n- A major other than `1` or `2` (`3`, `\"3.0\"`) is unsupported. A parser MUST reject the file with an error that names the value.\n- Any minor of major `2` (`\"2.4\"`, a future `\"2.9\"`) is read as v2. Unknown members follow § Extensibility.\n\n- A v2 parser encountering `version: 1` MUST apply the v1-to-v2 normalizations listed in the changes section and treat the document as v2-equivalent for all subsequent processing.\n- A v1 parser encountering `version: 2` MUST reject the file with a clear error indicating an unsupported format version. v1 parsers MUST NOT attempt partial reads of v2 documents.\n- Either parser encountering an unrecognized integer version MUST reject the file with a clear error.\n- A file without a `version` field SHOULD be rejected. Parsers MAY emit a warning and attempt to read the file as v1 if all required v1 fields are present and no v2-specific blocks are detected, but this fallback behavior is implementation-specific and not guaranteed by the spec.\n\nFiles with `version: 1` MUST NOT contain any v2-only blocks (`hydrodynamic_events`, `aquifer_analysis`, `history_logs`, `attachments`, `pump_installations`, `permits`, `meters`, `production`, `operating_regime`, `water_samples`, `profiles`, `well_id` as array, `location` object, `@context`). A v1 file containing such fields is malformed.\n\n---\n\n## Deprecation Policy\n\nThe `.well` format evolves in two version dimensions:\n\n- **Major versions** (`1`, `2`, `3`, …): may remove deprecated fields and introduce breaking changes. Each major version has its own canonical JSON Schema URL.\n- **Minor revisions** within a major version (`2.0`, `2.1`, …): additive only. Minor revisions may introduce new fields, new vocabulary values, and **deprecation markers** for existing fields. Minor revisions MUST NOT remove fields, change field semantics, or break round-trip compatibility for files conforming to earlier minor revisions of the same major version.\n\n### Field lifecycle\n\nA field moves through three states:\n\n1. **Active** — defined and recommended by the current minor revision.\n2. **Deprecated** — still defined and still valid, but flagged for removal in the next major version. Deprecation is announced in a minor revision (e.g. introduced in v2.0, deprecated in v2.1).\n3. **Removed** — no longer defined. May only occur in a new major version (e.g. removed in v3.0).\n\nEach deprecation announcement MUST include, in the spec text for the relevant field:\n\n- The minor revision in which the field was deprecated (e.g. _\"Deprecated in v2.1\"_).\n- The major version in which the field will be removed (e.g. _\"Will be removed in v3.0\"_).\n- The replacement field or pattern, when applicable.\n- A v2-to-vNext normalization rule that parsers for the next major version MUST implement to read files using the deprecated field.\n\n### Parser behavior\n\nParsers conformant to the version that introduced a deprecation:\n\n- MUST accept the deprecated field as valid input.\n- MUST preserve the deprecated field on round-trip unless explicitly migrating the document to a newer version.\n- SHOULD emit a warning when encountering a deprecated field, naming the replacement.\n- MAY offer a migration mode that rewrites the field to its replacement in place. Migration mode MUST be opt-in (e.g. an explicit flag passed to the parser), not the default behavior of read operations.\n\nParsers for the major version after removal:\n\n- MUST apply the documented normalization when reading older files (e.g. a v3 parser reading a v2 file that used a v2-deprecated field).\n- MUST NOT accept the removed field name in files declaring the new major version (e.g. a file with `version: 3` containing a v2-deprecated field is malformed).\n\n### Vocabulary value promotion\n\nWhen a vocabulary value previously available only with the `x-` prefix is promoted to canonical (e.g. `x-slug_test` becomes `slug_test`):\n\n- The minor revision that performs the promotion MUST document both forms as equivalent.\n- Parsers from that revision onward MUST treat both forms as equivalent for the remainder of the major version.\n- The `x-` prefixed form is implicitly deprecated upon promotion and will be removed in the next major version, following the standard field lifecycle.\n\n### Canonical deprecation registry\n\nEach minor revision of this spec MUST include a \"Deprecations\" subsection in its changelog listing all fields and vocabulary values deprecated in that revision, with their replacement and removal timeline. The v2.0 release contains no deprecations.\n\n---\n\n## Top-level Fields\n\n### Core identity\n\n| Field               | Type              | Required | Description                                                                                                                                                                                                                                     |\n| ------------------- | ----------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `version`           | integer \\| string | yes      | Format version. v2.4 files write `\"2.4\"`.                                                                                                                                                                                                       |\n| `well_type`         | string            | yes      | Construction method of the well. See vocabulary below.                                                                                                                                                                                          |\n| `name`              | string            | no       | Well name or local identifier.                                                                                                                                                                                                                  |\n| `well_driller`      | string            | no       | Name of the drilling company or individual.                                                                                                                                                                                                     |\n| `construction_date` | string            | no       | ISO 8601 calendar date of well completion (`YYYY-MM-DD`). Date-only by design — time of day for construction completion is not meaningful at the precision the well registry cares about. Interpreted as the local civil date at the well site. |\n| `obs`               | string            | no       | Free-text observations about the well.                                                                                                                                                                                                          |\n| `well_depth`        | number            | no       | The well's current usable depth in meters from ground level, as measured or reported. May be less than the deepest constructive element (see `bore_hole`) due to siltation, debris, or partial backfill.                                        |\n\n### v2 additions\n\n| Field      | Type                      | Required | Description                                                                  |\n| ---------- | ------------------------- | -------- | ---------------------------------------------------------------------------- |\n| `@context` | string \\| array \\| object | no       | JSON-LD context. Reserved field; see § JSON-LD Context.                      |\n| `well_id`  | `WellId[]`                | no       | Array of authority-scoped identifiers. See § well_id.                        |\n| `location` | `Location`                | no       | Geographic position and elevation. See § location.                           |\n| `profiles` | string[]                  | no       | Array of JSON Schema URLs declaring conformance to profiles. See § profiles. |\n\n### v2.1 additions\n\n| Field          | Type            | Required | Description                                                      |\n| -------------- | --------------- | -------- | ---------------------------------------------------------------- |\n| `well_purpose` | string[]        | no       | Intended use(s) of the well. See § well_purpose.                 |\n| `centralizers` | `Centralizer[]` | no       | Casing\u002Fscreen centralizers. See object-schemas.md § Centralizer. |\n\n### v2.3 additions\n\n| Field                | Type                 | Required | Description                                                                                                                           |\n| -------------------- | -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |\n| `attachments`        | `Attachment[]`       | no       | Documents about the well as a whole, not tied to any record. See object-schemas.md § Attachment.                                      |\n| `pump_installations` | `PumpInstallation[]` | no       | Pump installation history (installation block). See object-schemas.md § `pump_installations[]`.                                       |\n| `permits`            | `Permit[]`           | no       | Legal instruments governing abstraction (mutable record block). See object-schemas.md § `permits[]`.                                  |\n| `meters`             | `Meter[]`            | no       | Totalizer (hidrômetro) installation history (installation block). See object-schemas.md § `meters[]`.                                 |\n| `production`         | `ProductionEntry[]`  | no       | Ledger of meter readings and declared volumes (ledger block). See object-schemas.md § `production[]`.                                 |\n| `operating_regime`   | `OperatingRegime[]`  | no       | Declared operating regimes, each in force from `effective_from` (mutable record block). See object-schemas.md § `operating_regime[]`. |\n| `water_samples`      | `WaterSample[]`      | no       | Water samples and their field and laboratory results (ledger block). See water-quality.md.                                            |\n\n### Block kinds _(since v2.3)_\n\nEvery top-level array is one of three kinds. The kind decides how records are corrected.\n\n| Kind           | Blocks                                               | Correction                                                                                                                  | Edit tracking                                                                               |\n| -------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| Ledger         | `hydrodynamic_events`, `production`, `water_samples` | MAY be edited in place (NOT RECOMMENDED after export). `corrects` is the recommended mechanism for measurement corrections. | `updated_at` where the block defines it; a `corrects` entry is the history of a correction. |\n| Mutable record | `history_logs`, `permits`, `operating_regime`        | Edit in place.                                                                                                              | `updated_at` (instant) on the record.                                                       |\n| Installation   | `pump_installations`, `meters`                       | Edit in place.                                                                                                              | `updated_at` (instant) on the record.                                                       |\n\nConstructive and geologic arrays describe the well as built and are edited in place. `aquifer_analysis` entries are interpretations: a new interpretation is a new entry, and earlier ones coexist.\n\n**Ledger corrections.** A ledger entry referenced by any `corrects` field is excluded from every derivation but stays in the file. Chains are allowed (C corrects B, which corrected A); only the last uncorrected entry counts. A `corrects` cycle is malformed and emits a warning. An `aquifer_analysis` whose `source_event_ids` or `static_level_source_id` points to a retracted event emits a warning naming both ids.\n\n**Installation pattern.** Installation blocks describe equipment present in the well for a period, with `installed_at` (required) and `removed_at` (absent means currently installed).\n\n- `removed_at` earlier than or equal to `installed_at` is malformed and emits a warning.\n- Each entry is one installation, not one piece of equipment. A unit pulled and reinstalled gets a new entry with the same `serial`.\n- Overlapping open installations in the same block emit a warning, not an error. Standby pumps and secondary meters exist.\n\n### Naming rules _(since v2.3)_\n\n- No unit in a field name. Units are bound by the field-to-unit table (§ Units).\n- `flow_rate` is the canonical name for a volumetric rate; nameplate values use the `rated_` prefix (`rated_flow_rate`, `rated_head`, `rated_power`).\n- `from` \u002F `to` are reserved for depth intervals in meters. Time intervals use `period_start` \u002F `period_end`.\n- References to another array end in `_id` (single) or `_ids` (array), plus the two relationship fields `corrects` and `supersedes`.\n\n**`supersedes` vs `corrects`.** `supersedes` expresses legal succession between two valid permits and appears only on `permits`. It is not a correction mechanism: `corrects` retracts ledger entries.\n\n---\n\n## Datetime Conventions\n\nThe `.well` format distinguishes two kinds of temporal values:\n\n**Calendar dates** — `YYYY-MM-DD`, no time, no offset. Used for `construction_date` and, since v2.3, for legal documents: `permits[].issued_at`, `valid_from`, `valid_until`, `renewal_requested_at`; `permits[].conditions[].first_due`, `last_due`; `permits[].conditions[].fulfillments[].due_date`; and `permits[].history[].date`, `due_date`. Interpreted as the local civil date at the well site. Calendar dates are sortable lexicographically and applications MUST NOT attempt to derive an instant from them.\n\n**Instants** — RFC 3339 datetime strings with a mandatory UTC offset (e.g. `2006-03-14T08:00:00-03:00` or `2006-03-14T11:00:00Z`). Used for all event, analysis, and log timestamps:\n\n- `hydrodynamic_events[].datetime`\n- `aquifer_analysis[].datetime`\n- `history_logs[].datetime`\n- `history_logs[].updated_at`\n- `pump_installations[].installed_at`, `removed_at`, `updated_at` _(since v2.3)_\n- `permits[].updated_at`, `permits[].history[].updated_at`, `permits[].conditions[].fulfillments[].datetime`, `updated_at` _(since v2.3)_\n- `meters[].installed_at`, `removed_at`, `updated_at` _(since v2.3)_\n- `production[].datetime` (`meter_reading`); `production[].period_start`, `period_end` (`estimated_volume`) _(since v2.3)_\n- `operating_regime[].effective_from`, `updated_at` _(since v2.3)_\n- `water_samples[].datetime`, `laboratory.received_at`, `results[].analyzed_at`, `results[].validation.validated_at` _(since v2.3)_\n\nValidity and deadline checks compare calendar dates, never UTC instants. When an instant is compared with a calendar date — for example a condition fulfillment's `datetime` against its `due_date` — the instant's local date is the instant converted to `location.properties.timezone` _(since v2.4)_. Without `timezone`, it is the date part of the string, in the offset it carries; producers SHOULD then write such instants in the well site's local offset. A file without `timezone` whose permits have condition fulfillments emits a warning.\n\nRelative deadlines and recurrences are ISO 8601 date durations (`P90D`, `P6M`, `P1Y6M`); see object-schemas.md § Date duration.\n\n### Instants known only by date _(since v2.3)_\n\nLaboratory reports often give only the date of receipt or analysis. Such an instant is written at 00:00 local time at the well site, and a sibling field named after it with the `_resolution` suffix is set to `\"day\"`:\n\n```json\n{ \"analyzed_at\": \"2026-09-17T00:00:00-03:00\", \"analyzed_at_resolution\": \"day\" }\n```\n\n- Consumers MUST ignore the time of day when `_resolution` is `day`. Ordering, holding-time and deadline calculations on that field use day resolution.\n- `day` is the only allowed value; any other value is malformed. An absent `_resolution` means the instant is exact.\n- In v2.3 the convention applies to `water_samples[].laboratory.received_at` and `water_samples[].results[].analyzed_at`. It is the candidate general convention for any instant known only by its date.\n\nA datetime without an offset (naked `YYYY-MM-DDTHH:MM:SS`) is malformed and parsers MUST reject it. Time zone abbreviations (`EST`, `BRT`) are not RFC 3339 and MUST NOT be used.\n\n### Ordering and ties\n\nInstants are ordered by absolute UTC instant, not by the lexical form of the string. The strings `2006-03-14T08:00:00-03:00` and `2006-03-14T11:00:00Z` represent the same instant and tie for ordering purposes.\n\nWhen two events share the same instant, the optional `sequence` integer breaks the tie (lower values sort first). When two events share the same instant and no `sequence` is provided, ordering is implementation-defined; producers SHOULD provide `sequence` when authoring events with identical instants.\n\n---\n\n## Recommended vocabularies\n\nMany string fields are **open**: they accept any value, but recommend a vocabulary for interoperability. The sections below list each one. Non-canonical values SHOULD use the `x-` prefix, and tools MUST preserve unrecognized values and display them as-is.\n\nEvery recommended vocabulary is also published as data by `@welldot\u002Fcore` (e.g. `PERMIT_TYPES`, `CONSTRUCTION_MATERIALS`, `SAMPLE_TYPES`), each entry carrying its `value` and display labels keyed by BCP 47 language tag (at least `en` and `pt`). The field types use the `OpenVocab\u003CT>` pattern (`T | (string & {})`): the recommended values are typed while any other string stays valid. The Portuguese column in the tables below may be more descriptive than the short display label.\n\n## `well_type` — Recommended values\n\nThe `well_type` field accepts any string and describes the well's **construction method**. The values below are the recommended vocabulary for interoperability. Tools should treat unrecognized values gracefully.\n\n| Value                  | Portuguese (BR)         | Description                                    |\n| ---------------------- | ----------------------- | ---------------------------------------------- |\n| `tubular`              | Tubular                 | Conventional rotary or percussion drilled well |\n| `hand_dug`             | Cacimba \u002F poço escavado | Manually excavated well or cistern             |\n| `horizontal`           | Horizontal              | Horizontal or sub-horizontal well              |\n| `infiltration_gallery` | Galeria de infiltração  | Horizontal subsurface infiltration gallery     |\n| `artesian`             | Artesiano               | **Deprecated in v2.1** — see below             |\n\nNon-canonical values SHOULD use the `x-` prefix (e.g. `x-radial_collector`).\n\n**`artesian` (deprecated in v2.1, removal in v3).** Artesianism is a hydraulic condition, not a construction method: an artesian well is usually a `tubular` well. A flowing artesian condition is recorded as a `hydrodynamic_events` entry whose `static_level` is negative (see § Level sign convention), and applications derive the label from it. Parsers MUST continue to accept `well_type: \"artesian\"` and MUST NOT rewrite it. Authoring tools SHOULD offer to migrate it to the actual construction method on edit.\n\n---\n\n## `well_purpose` — Recommended values _(since v2.1)_\n\n`well_purpose` is an optional array of strings giving the well's current intended use(s). A well may have more than one purpose (e.g. `[\"production\", \"monitoring\"]`). Changes of use over time belong in `history_logs` (category `event`). Non-canonical values SHOULD use the `x-` prefix.\n\n| Value                   | Portuguese (BR)                 | Description                                                      |\n| ----------------------- | ------------------------------- | ---------------------------------------------------------------- |\n| `production`            | Produção \u002F captação             | Water supply abstraction                                         |\n| `monitoring`            | Poço de monitoramento           | Groundwater level and\u002For quality monitoring                      |\n| `piezometer`            | Piezômetro                      | Measures hydraulic head at a discrete depth interval             |\n| `water_level_indicator` | INA — indicador de nível d'água | Open standpipe for water table readings (typically geotechnical) |\n| `observation`           | Poço de observação              | Observation well for aquifer tests on a nearby pumping well      |\n| `exploration`           | Pesquisa \u002F exploratório         | Investigation or test well                                       |\n| `injection`             | Injeção \u002F recarga               | Managed aquifer recharge or injection                            |\n| `dewatering`            | Rebaixamento                    | Construction or mining dewatering                                |\n\n---\n\n## `bore_hole[].drilling_method` — Recommended values _(since v2.3)_\n\n| Value        | English    | Portuguese (BR)    |\n| ------------ | ---------- | ------------------ |\n| `rotary`     | Rotary     | Rotativo           |\n| `percussion` | Percussion | Percussão          |\n| `cable_tool` | Cable tool | Percussão a cabo   |\n| `auger`      | Auger      | Trado              |\n| `air_hammer` | Air hammer | Martelo pneumático |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## Construction materials — Recommended values _(since v2.3)_\n\nShared by `well_case[].type`, `well_screen[].type`, `reduction[].type` and `pump_installations[].riser_material`.\n\n| Value               | English           | Portuguese (BR) |\n| ------------------- | ----------------- | --------------- |\n| `pvc`               | PVC               | PVC             |\n| `geomechanical_pvc` | Geomechanical PVC | PVC geomecânico |\n| `carbon_steel`      | Carbon steel      | Aço carbono     |\n| `galvanized_steel`  | Galvanized steel  | Aço galvanizado |\n| `stainless_steel`   | Stainless steel   | Aço inox        |\n| `fiberglass`        | Fiberglass        | Fibra de vidro  |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `well_screen[].slot_type` — Recommended values _(since v2.3)_\n\nThe screen design, independent of its material (`well_screen[].type`).\n\n| Value             | English         | Portuguese (BR)           |\n| ----------------- | --------------- | ------------------------- |\n| `continuous_slot` | Continuous slot | Espiralado (tipo Johnson) |\n| `slotted`         | Slotted         | Ranhurado                 |\n| `bridge_slot`     | Bridge slot     | Tipo ponte                |\n| `louver`          | Louver          | Veneziana                 |\n| `perforated`      | Perforated      | Perfurado                 |\n| `nold`            | Nold type       | Tipo Nold                 |\n\n`continuous_slot` is the wire-wrapped (wire-wound) screen. `nold` is the steel screen sold under that trade designation (_filtro tipo Nold_). Non-canonical values SHOULD use the `x-` prefix.\n\n## `centralizers[].type` — Recommended values _(since v2.1)_\n\n| Value              | English          | Portuguese (BR)   |\n| ------------------ | ---------------- | ----------------- |\n| `spring_bow`       | Spring bow       | Mola (spring bow) |\n| `rigid`            | Rigid            | Rígido            |\n| `semi_rigid`       | Semi-rigid       | Semirrígido       |\n| `polymer`          | Polymer          | Polimérico        |\n| `carbon_steel`     | Carbon steel     | Aço carbono       |\n| `galvanized_steel` | Galvanized steel | Aço galvanizado   |\n| `stainless_steel`  | Stainless steel  | Aço inox          |\n\nThe steel values name rigid centralizers by their material. Non-canonical values SHOULD use the `x-` prefix.\n\n## `cement_pad.type` — Recommended values _(since v2.3)_\n\n| Value                 | English             | Portuguese (BR) |\n| --------------------- | ------------------- | --------------- |\n| `concrete`            | Concrete            | Concreto        |\n| `reinforced_concrete` | Reinforced concrete | Concreto armado |\n| `cement`              | Cement              | Cimento         |\n| `mortar`              | Mortar              | Argamassa       |\n\n`type` describes the pad material; other free text (e.g. a shape) remains valid.\n\n---\n\n## `pump_installations[].type` — Recommended values _(since v2.3)_\n\n| Value                | Portuguese (BR)        | Description                                       |\n| -------------------- | ---------------------- | ------------------------------------------------- |\n| `submersible`        | Bomba submersa         | Electric submersible pump.                        |\n| `vertical_turbine`   | Bomba de eixo vertical | Surface motor with line shaft.                    |\n| `jet`                | Bomba injetora         | Surface jet pump.                                 |\n| `progressive_cavity` | Bomba helicoidal       | Progressive cavity pump, common with solar power. |\n| `hand_pump`          | Bomba manual           |                                                   |\n| `compressor_airlift` | Compressor (air-lift)  | Permanent airlift production.                     |\n\nSolar is a `power_source`, never a `type`. Non-canonical values SHOULD use the `x-` prefix.\n\n## `pump_installations[].power_source` — Recommended values _(since v2.3)_\n\n| Value    | Portuguese (BR)      |\n| -------- | -------------------- |\n| `grid`   | Rede elétrica        |\n| `solar`  | Solar (fotovoltaico) |\n| `diesel` | Gerador a diesel     |\n| `hybrid` | Híbrido              |\n\n## `permits[].type` — Recommended values _(since v2.3)_\n\n| Value                | Portuguese (BR)                        | Description                         |\n| -------------------- | -------------------------------------- | ----------------------------------- |\n| `abstraction_permit` | Outorga de direito de uso              | Grant to abstract groundwater.      |\n| `preliminary_permit` | Outorga prévia \u002F declaração de reserva | Permission before drilling.         |\n| `exemption`          | Dispensa \u002F uso insignificante          | Formal exemption for small users.   |\n| `registration`       | Cadastro (e.g. CNARH)                  | Registration without a grant.       |\n| `dewatering_permit`  | Outorga para rebaixamento              | Mining and construction dewatering. |\n| `drilling_permit`    | Autorização de perfuração              | Authorization to drill the well.    |\n\n`renewal` is not a type: a renewal is a new permit of the same type whose `supersedes` points to the previous one. Non-canonical values SHOULD use the `x-` prefix.\n\n## `permits[].water_use` — Recommended values _(since v2.3)_\n\n| Value          | Portuguese (BR)                        |\n| -------------- | -------------------------------------- |\n| `human_supply` | Abastecimento público \u002F consumo humano |\n| `industrial`   | Industrial                             |\n| `mining`       | Mineração                              |\n| `irrigation`   | Irrigação                              |\n| `livestock`    | Dessedentação animal                   |\n| `commercial`   | Comercial \u002F serviços                   |\n\n`water_use` describes what the abstracted water is for; `well_purpose` describes the well's role.\n\n## `permits[].conditions[].category` — Recommended values _(since v2.3)_\n\n| Value                    | Portuguese (BR)            | Covers                                                                     |\n| ------------------------ | -------------------------- | -------------------------------------------------------------------------- |\n| `monitoring`             | Monitoramento              | Water level, flow, abstracted volume and water quality monitoring\u002Fsampling |\n| `reporting`              | Relatórios e declarações   | Periodic reports and volume\u002Fflow declarations submitted to the authority   |\n| `equipment_installation` | Instalação de equipamentos | Meters (hidrômetro), level gauges, sampling taps, telemetry                |\n| `well_protection`        | Proteção do poço           | Sanitary slab, seal, protection perimeter, wellhead closure                |\n| `environmental`          | Ambiental                  | Environmental measures, compensation, licensing of the activity            |\n| `legal`                  | Legal \u002F administrativo     | Renewal request, fees, registrations, document submissions                 |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `permits[].history[].type` — Recommended values _(since v2.3)_\n\n| Value          | Portuguese (BR)                  |\n| -------------- | -------------------------------- |\n| `filing`       | Protocolo \u002F requerimento         |\n| `process`      | Andamento do processo \u002F despacho |\n| `notification` | Notificação \u002F ofício             |\n| `fee`          | Taxa \u002F emolumento                |\n| `inspection`   | Vistoria                         |\n| `decision`     | Decisão \u002F publicação             |\n| `renewal`      | Renovação                        |\n\nNon-canonical values SHOULD use the `x-` prefix. The administrative `status` of a permit is a closed vocabulary; see object-schemas.md § `permits[]` — Administrative status.\n\n## `meters[].type` — Recommended values _(since v2.3)_\n\n| Value             | Portuguese (BR)         |\n| ----------------- | ----------------------- |\n| `mechanical`      | Hidrômetro mecânico     |\n| `electromagnetic` | Medidor eletromagnético |\n| `ultrasonic`      | Medidor ultrassônico    |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `production[]` — Recommended values _(since v2.3)_\n\n**`type`** — the entry discriminator: `meter_reading` (a totalizer register value) or `estimated_volume` (a volume estimated for a period, without a meter). Non-canonical entry types SHOULD use the `x-` prefix; parsers preserve them and exclude them from volume derivations.\n\n**`source`** (`meter_reading`):\n\n| Value       | Portuguese (BR) |\n| ----------- | --------------- |\n| `manual`    | Leitura manual  |\n| `telemetry` | Telemetria      |\n\n**`method`** (`estimated_volume`) — the basis of the estimate. Descriptive only: it never changes how the volume is counted.\n\n| Value            | Portuguese (BR)           | Description                                                        |\n| ---------------- | ------------------------- | ------------------------------------------------------------------ |\n| `flow_time`      | Vazão × tempo de operação | Flow rate times operating time (hour meter, operating regime).     |\n| `energy`         | Consumo de energia        | Derived from the pump's energy consumption.                        |\n| `user_statement` | Informado pelo usuário    | Stated by the owner or operator, without a documented calculation. |\n\n## `water_samples[]` — Recommended values _(since v2.3)_\n\nRecommended values for `sample_type`, `sampling_method`, `sampling_point.type` and `sampling_point.device` are listed in [water-quality.md](water-quality.md) § Recommended values.\n\n## `hydrodynamic_events[].measurement_method` — Recommended values\n\nUsed by `spot_measurement` and `logger_series` _(since v2.4)_ events.\n\n| Value                 | English             | Portuguese (BR)       |\n| --------------------- | ------------------- | --------------------- |\n| `electric_probe`      | Electric probe      | Sonda elétrica        |\n| `pressure_transducer` | Pressure transducer | Transdutor de pressão |\n| `air_line`            | Air line            | Linha de ar           |\n| `tape`                | Tape                | Trena                 |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `aquifer_analysis[].method` — Recommended values\n\n| Value               | English           | Portuguese (BR) |\n| ------------------- | ----------------- | --------------- |\n| `cooper_jacob`      | Cooper-Jacob      | Cooper-Jacob    |\n| `theis`             | Theis             | Theis           |\n| `neuman`            | Neuman            | Neuman          |\n| `hantush`           | Hantush           | Hantush         |\n| `birsoy_summers`    | Birsoy-Summers    | Birsoy-Summers  |\n| `eden_hazel`        | Eden-Hazel        | Eden-Hazel      |\n| `visual_inspection` | Visual inspection | Inspeção visual |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `history_logs[].category` — Recommended values\n\n| Value           | Portuguese (BR)     | Category-specific fields                                              |\n| --------------- | ------------------- | --------------------------------------------------------------------- |\n| `maintenance`   | Manutenção          | `maintenance_type`, `pump_installation_id`, `meter_id` _(since v2.3)_ |\n| `inspection`    | Inspeção            | —                                                                     |\n| `incident`      | Incidente           | —                                                                     |\n| `event`         | Evento              | —                                                                     |\n| `status_change` | Mudança de situação | `status` _(since v2.3)_                                               |\n\nDescriptions are in object-schemas.md § `history_logs[]`. Category-specific fields MUST be absent on entries of other categories; their presence emits a warning. Non-canonical values SHOULD use the `x-` prefix.\n\n## `history_logs[].severity` — Recommended values\n\n| Value      | English  | Portuguese (BR) |\n| ---------- | -------- | --------------- |\n| `low`      | Low      | Baixa           |\n| `medium`   | Medium   | Média           |\n| `high`     | High     | Alta            |\n| `critical` | Critical | Crítica         |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `history_logs[].maintenance_type` — Recommended values _(since v2.3)_\n\n| Value               | Portuguese (BR)             |\n| ------------------- | --------------------------- |\n| `inspection`        | Inspeção                    |\n| `cleaning`          | Limpeza                     |\n| `redevelopment`     | Redesenvolvimento           |\n| `disinfection`      | Desinfecção                 |\n| `pump_service`      | Manutenção da bomba         |\n| `meter_calibration` | Aferição do hidrômetro      |\n| `video_inspection`  | Filmagem \u002F perfilagem ótica |\n| `level_measurement` | Medição de nível            |\n| `pump_test`         | Teste de bombeamento        |\n| `water_sampling`    | Coleta de água              |\n\nNon-canonical values SHOULD use the `x-` prefix.\n\n## `history_logs[].status` — Allowed values _(since v2.3)_\n\nUsed by entries of category `status_change`. This is a **closed vocabulary**: `status` MUST be one of the five values below. Any other value, including an `x-` value, is a schema error and the file is rejected.\n\n| Value            | Portuguese (BR)        | Semantics                               |\n| ---------------- | ---------------------- | --------------------------------------- |\n| `active`         | Ativo \u002F em operação    | Normal operation.                       |\n| `maintenance`    | Em manutenção          | Temporarily out of service for work.    |\n| `inactive`       | Paralisado             | Out of service, recoverable.            |\n| `decommissioned` | Desativado \u002F tamponado | Permanently closed and properly sealed. |\n| `abandoned`      | Abandonado             | Left without proper sealing.            |\n\nThe well's current status is the `status` of the `status_change` entry with the latest `datetime`; with no such entry, the status is unknown.\n\n## `Attachment.document_type` — Recommended values _(since v2.3)_\n\n| Value                | Portuguese (BR)                             | Typical location                      |\n| -------------------- | ------------------------------------------- | ------------------------------------- |\n| `drilling_report`    | Relatório de perfuração \u002F relatório técnico | Root                                  |\n| `as_built_drawing`   | Perfil construtivo as-built                 | Root                                  |\n| `registry_record`    | Ficha cadastral (SIAGAS, CNARH)             | Root                                  |\n| `photo`              | Fotografia                                  | Any                                   |\n| `permit_document`    | Portaria \u002F certificado de outorga           | `permits`                             |\n| `condition_evidence` | Comprovante de cumprimento de condicionante | `permits[].conditions[].fulfillments` |\n| `pump_curve`         | Curva da bomba                              | `pump_installations`                  |\n| `field_sheet`        | Planilha de campo                           | `hydrodynamic_events`                 |\n| `test_report`        | Relatório de teste de bombeamento           | `aquifer_analysis`                    |\n| `lab_report`         | Laudo laboratorial                          | `water_samples`                       |\n| `invoice`            | Nota fiscal                                 | Any                                   |\n\nThe vocabulary is open; non-canonical values SHOULD use the `x-` prefix.\n\n---\n\n## `well_id`\n\nArray of authority-scoped identifiers linking the well to external registries. A well may be registered in multiple national, regional, or institutional registries simultaneously.\n\n| Field       | Type    | Required | Description                                                                       |\n| ----------- | ------- | -------- | --------------------------------------------------------------------------------- |\n| `authority` | string  | yes      | Name of the issuing registry or institution (e.g. `\"SIAGAS\"`, `\"ANA\"`, `\"NGWD\"`). |\n| `id`        | string  | yes      | The identifier as issued by the authority.                                        |\n| `primary`   | boolean | no       | Marks the canonical identifier. At most one entry may have `primary: true`.       |\n\nProducers SHOULD mark exactly one entry `primary: true`. The rule \"the first entry is canonical\" applies only as a fallback when no entry is marked, because it is fragile when the order changes. Parsers MUST warn when multiple entries have `primary: true`.\n\n### Numeric ID conversion\n\nAll `id` values are strings. When the source identifier from an external system is an integer, the string representation MUST be the canonical base-10 representation with no leading zeros, no thousands separator, and no locale-specific formatting. The integer `42` becomes `\"42\"`, not `\"042\"` or `\"42,\"`.\n\nWhen the source identifier is a fixed-width string with significant leading zeros (e.g. `\"00042819\"` from a registry where width carries meaning), the original string MUST be preserved verbatim. Composite identifiers containing significant leading zeros in their numeric portion (e.g. SIAGAS `\"SP-0042819\"`) MUST be preserved as-is.\n\n### Uniqueness\n\nThe combination `(authority, id)` MUST be unique within the `well_id` array. See § Cross-reference and uniqueness rules for the duplicate-handling policy.\n\n```json\n\"well_id\": [\n  { \"authority\": \"SIAGAS\", \"id\": \"SP-0042819\", \"primary\": true },\n  { \"authority\": \"ANA\",    \"id\": \"02000.001234\u002F2006-78\" },\n  { \"authority\": \"utility-internal\", \"id\": \"PP-01\" }\n]\n```\n\n---\n\n## `location`\n\nGeographic position and elevation of the wellhead. Supersedes the v1 top-level `lat`, `lng`, and `elevation` fields.\n\nThe three primary measurements — `lat`, `lng`, `elevation` — are top-level fields on the location object for ergonomics. All ancillary metadata (datum, CRS, precision, source CRS) lives under a nested `properties` object.\n\n| Field        | Type                 | Required | Description                                                                                                            |\n| ------------ | -------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------- |\n| `lat`        | number               | yes      | Latitude in decimal degrees.                                                                                           |\n| `lng`        | number               | yes      | Longitude in decimal degrees.                                                                                          |\n| `elevation`  | number               | no       | Wellhead elevation in meters above the WGS84 reference ellipsoid (or the datum named in `properties.elevation_datum`). |\n| `properties` | `LocationProperties` | no       | Ancillary metadata. When absent, all defaults apply.                                                                   |\n\n### `LocationProperties`\n\n| Field                 | Type   | Required | Description                                                                                                                                                       |\n| --------------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `elevation_datum`     | string | no       | Reference datum for `elevation`. See vocabulary below. Default: `wgs84_ellipsoid`.                                                                                |\n| `crs`                 | string | no       | EPSG code of the coordinate reference system. Must be a geographic (not projected) CRS. Default: `\"EPSG:4326\"` (WGS84).                                           |\n| `lat_precision`       | number | no       | One-sigma precision of `lat` in decimal degrees.                                                                                                                  |\n| `lng_precision`       | number | no       | One-sigma precision of `lng` in decimal degrees.                                                                                                                  |\n| `elevation_precision` | number | no       | One-sigma precision of `elevation` in meters.                                                                                                                     |\n| `original_crs`        | string | no       | EPSG code of the source CRS, preserved for traceability when source data was in a projected CRS that the converter transformed to geographic. Informational only. |\n| `timezone`            | string | no       | IANA time zone of the well site (e.g. `America\u002FBelem`). A value that is not a valid IANA name is malformed. _(since v2.4)_                                        |\n\n### `elevation_datum` — Recommended values\n\n| Value             | Description                                                                                                                                  |\n| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |\n| `wgs84_ellipsoid` | WGS84 reference ellipsoidal height. Default.                                                                                                 |\n| `egm2008`         | Earth Gravitational Model 2008 geoid                                                                                                         |\n| `egm96`           | Earth Gravitational Model 1996 geoid                                                                                                         |\n| `local_msl`       | Local mean sea level (imprecise; specific datum SHOULD be named via `x-` prefix, e.g. `x-imbituba` for Brazil's national vertical reference) |\n\nWhen `elevation_datum` is omitted, parsers MUST assume `wgs84_ellipsoid`.\n\n### CRS scope\n\nOnly geographic coordinate reference systems are permitted in `properties.crs`. Projected CRS values (e.g. UTM zones) are not valid. If source data uses a projected CRS, the converting application MUST transform to geographic coordinates before writing the file. The `original_crs` field MAY be populated with the source CRS for traceability.\n\n```json\n\"location\": {\n  \"lat\": -1.4558,\n  \"lng\": -48.5039,\n  \"elevation\": 12.5,\n  \"properties\": {\n    \"elevation_datum\": \"wgs84_ellipsoid\",\n    \"crs\": \"EPSG:4326\",\n    \"lat_precision\": 0.0001,\n    \"lng_precision\": 0.0001,\n    \"elevation_precision\": 0.5,\n    \"original_crs\": \"EPSG:31983\"\n  }\n}\n```\n\n---\n\n## Units\n\nAll numeric values in a `.well` file are in **SI**. The format does not encode unit declarations; the units below are the single, canonical interpretation for every field of the corresponding kind. No file may override these.\n\n### Canonical units\n\n| Quantity                 | Unit                                               | UCUM                                           | Stored as                                |\n| ------------------------ | -------------------------------------------------- | ---------------------------------------------- | ---------------------------------------- |\n| Depth, length, elevation | meter                                              | `m`                                            | number                                   |\n| Diameter                 | millimeter                                         | `mm`                                           | number                                   |\n| Volumetric flow rate     | cubic meter per hour                               | `m3\u002Fh`                                         | number                                   |\n| Elapsed time, duration   | minute                                             | `min`                                          | number                                   |\n| Daily operating time     | hour                                               | `h`                                            | number (above 24 read as 24)             |\n| Volume                   | cubic meter                                        | `m3`                                           | number                                   |\n| Power                    | kilowatt                                           | `kW`                                           | number                                   |\n| Voltage                  | volt                                               | `V`                                            | number                                   |\n| Cross-sectional area     | square millimeter                                  | `mm2`                                          | number                                   |\n| Mass concentration       | milligram per liter                                | `mg\u002FL`                                         | number _(since v2.3)_                    |\n| Electrical conductivity  | microsiemens per centimeter at 25 °C               | `uS\u002Fcm`                                        | number _(since v2.3)_                    |\n| Temperature              | degree Celsius                                     | `Cel`                                          | number _(since v2.3)_                    |\n| Redox potential          | millivolt                                          | `mV`                                           | number _(since v2.3)_                    |\n| Turbidity                | NTU, FNU, FAU, FTU (by parameter code)             | —                                              | number _(since v2.3)_                    |\n| Color                    | Hazen unit (uH = mg Pt-Co\u002FL)                       | —                                              | number _(since v2.3)_                    |\n| Microbiological count    | MPN\u002F100 mL, CFU\u002F100 mL, CFU\u002FmL (by parameter code) | `{MPN}\u002F(100.mL)`, `{CFU}\u002F(100.mL)`, `{CFU}\u002FmL` | number _(since v2.3)_                    |\n| Activity concentration   | becquerel per liter                                | `Bq\u002FL`                                         | number _(since v2.3)_                    |\n| Filter pore size         | micrometer                                         | `um`                                           | number _(since v2.3)_                    |\n| Transmissivity           | square meter per second                            | `m2\u002Fs`                                         | number                                   |\n| Hydraulic conductivity   | meter per second                                   | `m\u002Fs`                                          | number                                   |\n| Pressure                 | kilopascal                                         | `kPa`                                          | number                                   |\n| Angle (azimuth, dip)     | degree                                             | `deg`                                          | number (0–360 for azimuth, 0–90 for dip) |\n| Geographic coordinates   | decimal degree (WGS84)                             | `deg`                                          | number                                   |\n| Calendar date            | ISO 8601                                           | —                                              | string `YYYY-MM-DD`                      |\n| Instant                  | RFC 3339 with UTC offset                           | —                                              | string                                   |\n\nUCUM is the **Unified Code for Units of Measure**, the international machine-parseable unit standard used by OGC SWE and the scientific community. The UCUM column above documents the canonical encoding of each unit for use in JSON-LD contexts, profile schemas, and downstream interoperability — it is not encoded in `.well` files themselves.\n\n### Field-to-unit binding (normative)\n\n**Meter (`m`)** — all depths, lengths, and elevations:\n\n- `well_depth`\n- `bore_hole[].from`, `bore_hole[].to`\n- `well_case[].from`, `well_case[].to`\n- `reduction[].from`, `reduction[].to`\n- `well_screen[].from`, `well_screen[].to`\n- `surface_case[].from`, `surface_case[].to`\n- `hole_fill[].from`, `hole_fill[].to`\n- `centralizers[].from`, `centralizers[].to`, `centralizers[].spacing`\n- `cement_pad.width`, `cement_pad.length`, `cement_pad.thickness`\n- `lithology[].from`, `lithology[].to`\n- `fractures[].depth`, `fractures[].depth_precision`\n- `caves[].from`, `caves[].to`\n- `hydrodynamic_events[].static_level`, `static_level_precision`\n- `PumpingStep.readings[].depth`, `depth_precision`\n- `RecoveryPhase.readings[].depth`, `depth_precision`\n- `logger_series.sensor_depth`, `readings[].depth`, `depth_precision`, `depth_min`, `depth_max` _(since v2.4)_\n- `aquifer_analysis[].static_level`, `static_level_precision`\n- `aquifer_analysis[].dynamic_level`, `dynamic_level_precision`\n- `aquifer_analysis[].aquifer_thickness`\n- `location.elevation`, `location.properties.elevation_precision`\n- `pump_installations[].intake_depth`, `rated_head`, `electrical.cable_length` _(since v2.3)_\n- `water_samples[].sampling_point.depth`, `depth_precision`, `from`, `to` _(since v2.3)_\n\n**Millimeter (`mm`)** — all diameters and slot openings:\n\n- `bore_hole[].diameter`\n- `well_case[].diameter`\n- `reduction[].diam_from`, `reduction[].diam_to`\n- `well_screen[].diameter`, `well_screen[].screen_slot`\n- `surface_case[].diameter`\n- `hole_fill[].diameter`\n- `centralizers[].diameter`\n- `pump_installations[].riser_diameter` _(since v2.3)_\n- `meters[].nominal_diameter` _(since v2.3)_\n\n**Cubic meter per hour (`m3\u002Fh`)** — all volumetric flow rates:\n\n- `PumpingStep.rate`, `rate_precision`\n- `aquifer_analysis[].flow_rate`, `flow_rate_precision`\n- `recovery_only.pumping_rate`\n- `pump_installations[].rated_flow_rate` _(since v2.3)_\n- `permits[].flow_rate`, `permits[].monthly_schedule[].flow_rate` _(since v2.3)_\n- `operating_regime[].flow_rate` _(since v2.3)_\n- `water_samples[].purge.flow_rate` _(since v2.3)_\n\n**Minute (`min`)** — all elapsed times and durations:\n\n- `PumpingStep.duration`\n- `LevelReading.elapsed`\n- `recovery_only.pumping_duration`\n- `logger_series.interval` _(since v2.4)_\n- `water_samples[].purge.duration`, `purge.readings[].elapsed` _(since v2.3)_\n\n**Cubic meter (`m3`)** — volume _(since v2.3)_:\n\n- `permits[].volume_limits[].volume`\n- `meters[].max_reading`\n- `production[].reading` (`meter_reading`), `production[].volume` (`estimated_volume`)\n- `water_samples[].purge.volume`\n\n**Hour (`h`)** — daily operating time _(since v2.3)_:\n\n- `permits[].daily_operating_time`, `permits[].monthly_schedule[].daily_operating_time`\n- `operating_regime[].daily_operating_time`\n\nThe minute remains the canonical unit for elapsed time and durations. The hour is bound only to `daily_operating_time`, which regulators always express in hours.\n\n**Square meter per second (`m2\u002Fs`)** — transmissivity:\n\n- `aquifer_analysis[].transmissivity`\n\n**Meter per second (`m\u002Fs`)** — hydraulic conductivity:\n\n- `aquifer_analysis[].hydraulic_conductivity`\n\n**Kilopascal (`kPa`)** — pressure:\n\n- `LevelReading.pressure`\n\n**Kilowatt (`kW`)** — power _(since v2.3)_:\n\n- `pump_installations[].rated_power`\n\n**Volt (`V`)** — voltage _(since v2.3)_:\n\n- `pump_installations[].electrical.voltage`\n\n**Square millimeter (`mm2`)** — cross-sectional area _(since v2.3)_:\n\n- `pump_installations[].electrical.cable_section`\n\n**Degree Celsius (`Cel`)** — temperature _(since v2.3)_:\n\n- `water_samples[].laboratory.received_temperature`\n\n**Micrometer (`um`)** — filter pore size _(since v2.3)_:\n\n- `water_samples[].results[].filtration.pore_size`\n\n**Unit by parameter code** _(since v2.3)_ — `water_samples[].results[].value`, `detection_limit`, `quantification_limit`, `value_precision` and `purge.readings[].value` are in the canonical unit of the result's parameter (see water-quality.md § Units).\n\n**Degree (`deg`)** — angles and geographic coordinates:\n\n- `fractures[].azimuth`, `fractures[].dip`\n- `location.lat`, `location.lng`, `location.properties.lat_precision`, `location.properties.lng_precision`\n\n**Unitless** — dimensionless or domain-specific values:\n\n- `aquifer_analysis[].storativity` (dimensionless)\n- `aquifer_analysis[].jacob_b`, `jacob_c` (composite units; treated as the units required to make the standard Jacob equation balance with stored `flow_rate` and `length`)\n- `aquifer_analysis[].well_efficiency_pct` (percentage, 0–100)\n- `aquifer_analysis[].specific_capacity` (derived ratio in m³\u002Fh per m, i.e. `m2\u002Fh`)\n- Lithology `color` (CSS hex string)\n- `pump_installations[].stages`, `electrical.phases` (counts)\n- `permits[].monthly_schedule[].month`, `days`; `permits[].conditions[].occurrences` (counts)\n- `operating_regime[].days_per_week` (count, 1–7)\n\n### Water quality units _(since v2.3)_\n\nWater quality results take their unit from the parameter code; only `x-` vocabulary codes declare `unit` (UCUM). The unit-by-code rule and regional unit normalization are specified in [water-quality.md](water-quality.md) § Units.\n\n### Level sign convention\n\nDepths are measured from ground level (0) and increase downward. Water levels above ground level are therefore **negative**. This applies to `static_level`, `LevelReading.depth`, and `aquifer_analysis[].static_level` \u002F `dynamic_level`. A negative static level is how a flowing artesian condition is recorded (see § `well_type`). This convention was implicit in v2.0 and is made explicit in v2.1 without changing semantics. It does not apply to `pump_installations[].intake_depth`, which is an equipment depth and is always positive.\n\n### Diameter and the as-built convention\n\nDiameters in casing, screens, surface case, and hole fill are stored as the **as-built outer diameter in millimeters**, not as nominal manufacturer designations. A casing sold as \"6 inch\" with a real outer diameter of 168.3 mm is recorded as `168.3`, not `152.4` (the literal conversion of 6 inches to mm). Nominal-to-actual mapping for common pipe and screen sizes is a market convention handled by applications — typically by the converter or input form — not by the file format.\n\n### Screen slot\n\n`well_screen[].screen_slot` is in millimeters like every other diameter field. US-market slot-number designations (e.g. \"20 slot\" = 0.020 inch = 0.508 mm) are an input convenience handled by applications, not encoded in the file. The v1 field name `screen_slot_mm` was a legacy artifact and is renamed to `screen_slot` in v2; the value is in millimeters before and after.\n\n### Rationale\n\nAn interchange format with configurable units multiplies the number of valid encodings of the same well, complicates equality and comparison, and introduces a class of bugs where the declared units do not match the stored values. The `.well` format is designed to be a canonical machine representation: one well, one encoding. Display units, input units, and locale-specific notation are concerns of the applications that read and write `.well` files, not of the format itself. This separation matches the design of GeoJSON (WGS84 only), RFC 3339 (UTC offsets always present), and most modern interchange formats.\n\nProducers receiving non-SI source data (imperial drilling reports, US gpm flow measurements, inch casing designations, slot-number screens) MUST convert to SI before writing. Consumers presenting the data to users in non-SI units MUST convert on read.\n\nConversion utilities for the common transformations are provided in `@welldot\u002Fcore` under the `units` module — m ↔ ft, mm ↔ in, m³\u002Fh ↔ L\u002Fs, m³\u002Fh ↔ US gpm, m²\u002Fs ↔ m²\u002Fd, DD ↔ DMS, slot-number ↔ mm, cv\u002Fhp ↔ kW, L \u002F ft³ \u002F US gal ↔ m³, µg\u002FL ↔ mg\u002FL, mS\u002Fm ↔ µS\u002Fcm, and similar.\n\n---\n\n## Water quality parameter vocabulary _(since v2.3)_\n\nThe `welldot` parameter vocabulary (98 codes), its rules, the CAS equivalences and the treatment of limit sets are specified in [water-quality.md](water-quality.md) § Parameter vocabulary.\n\n---\n\n## `profiles`\n\nAn optional array of HTTPS URLs declaring formal extensions to the spec that the file conforms to. Each URL MUST resolve to a JSON Schema document.\n\n```json\n\"profiles\": [\n  \"https:\u002F\u002Fwelldot.org\u002Fprofiles\u002Fbrazil-ana\u002Fv1\u002Fschema.json\",\n  \"https:\u002F\u002Finspire.ec.europa.eu\u002Fschemas\u002Fgwhyd\u002F4.0\u002Fprofile.json\"\n]\n```\n\n### Profile schema requirements\n\n- Each URL MUST be an HTTPS URL resolving to a JSON Schema document (`Content-Type: application\u002Fschema+json` or `application\u002Fjson`).\n- The schema SHOULD extend the canonical `.well` v2 schema via `allOf` + `$ref`, but this is not required.\n- The schema MAY link to human documentation via its `description` field or a custom `x-documentation` field pointing to a Markdown or PDF URL.\n- Profiles MAY impose additional required fields, constrain vocabulary values, or mandate the use of specific `x-` extensions for a regulatory context.\n\n### Example: a regulatory water quality profile _(since v2.3)_\n\nSee [water-quality.md](water-quality.md) § Regulatory profiles.\n\n### Profile validation\n\n- If a profile URL is unreachable, returns a non-JSON document, or fails to parse as JSON Schema, the profile is silently ignored. Parsers MUST NOT reject files whose profile URLs are unavailable.\n- A profile-aware parser SHOULD validate the file against each reachable profile schema and surface failures as **warnings**, not errors. Conformance is asserted by the author, not enforced by the spec.\n- Profile URLs SHOULD be versioned via path segments or schema-internal `$id` to ensure stability.\n\n---\n\n## Extensibility\n\n### Custom fields — `x-` prefix\n\nAny implementer may add custom fields to any object by prefixing the field name with `x-`. This convention is established by OpenAPI 3.x and JSON Schema. Parsers MUST preserve and ignore `x-` fields they do not recognize. Sub-properties within an `x-` object do not need to be prefixed. For application extensions, `x-\u003Cvendor>-\u003Cname>` is RECOMMENDED (e.g. `x-welldot-custom`), so tools that both use `x-custom` do not collide. _(since v2.4)_\n\n```json\n{\n  \"id\": \"b2c3d4e5-...\",\n  \"type\": \"constant_rate\",\n  \"datetime\": \"2006-03-14T08:00:00-03:00\",\n  \"x-siagas\": {\n    \"registro\": \"SP-0042819\",\n    \"processo_ana\": \"02000.001234\u002F2006-78\"\n  }\n}\n```\n\nFields without the `x-` prefix that are not defined in this spec are technically non-conformant. Parsers MUST NOT reject such files but SHOULD emit a warning.\n\n### Custom top-level blocks — `x-` prefix required\n\nTop-level blocks not defined in this spec MUST use the `x-` prefix. For application extensions, `x-\u003Cvendor>-\u003Cname>` is RECOMMENDED (e.g. `x-welldot-custom`), so tools that both use `x-custom` do not collide. _(since v2.4)_ Parsers MUST preserve and ignore unrecognized top-level keys.\n\n```json\n{\n  \"version\": \"2.4\",\n  \"x-gas_monitoring\": [ ... ],\n  \"x-geophysical_logs\": [ ... ]\n}\n```\n\n### Custom vocabulary values — `x-` prefix\n\nOpen vocabulary fields in this spec (`type` in `hydrodynamic_events`, `category` in `history_logs`, `vocabulary` in `texture` and in water quality `parameter` (as `x-…` vocabularies), `method` in `aquifer_analysis`, `well_type`, and any other field documented as accepting any string; not closed vocabularies such as `history_logs[].status`) SHOULD use the `x-` prefix when the value is non-canonical — i.e. not listed in the recommended vocabulary of this spec.\n\nParsers MUST treat `x-` prefixed vocabulary values as valid. Promotion from `x-` form to canonical form follows the Deprecation Policy (see § Deprecation Policy — Vocabulary value promotion).\n\n```json\n{ \"type\": \"x-slug_test\" }\n{ \"category\": \"x-site_visit\" }\n{ \"method\": \"x-theis_recovery\" }\n```\n\n---\n\n## Offline packaging _(since v2.4)_\n\nA `.well` file references its attachments by absolute URL, and HTTPS links may expire. For regulators and long-term archiving, a `.well` file MAY be delivered as an offline package: a ZIP archive with the extension `.wellz`.\n\n- The `.well` file sits at the archive root, and the attachments sit at relative paths inside the archive.\n- In this mode an `Attachment.uri` MAY be a relative path to the file inside the archive, and `sha256` is required.\n- Outside a package, `uri` stays an absolute URL. A relative `uri` in a bare `.well` file is not valid.\n\nThe package is a delivery wrapper, not a second format: the `.well` file inside it is an ordinary `.well` file. Validators and parsers read the `.well` alone, so the schema keeps `uri` as a URL; resolving relative paths and checking `sha256` is the job of the tool that opens the package.\n\n---\n\n## Cross-reference and Uniqueness Rules\n\nThe `.well` format uses string IDs to link records across arrays. This section is the single normative source for ID semantics.\n\n### Uniqueness scope\n\nEach ID-bearing array maintains its **own uniqueness scope**. The ID namespaces are independent:\n\n- `hydrodynamic_events[].id` — unique within `hydrodynamic_events`\n- `aquifer_analysis[].id` — unique within `aquifer_analysis`\n- `history_logs[].id` — unique within `history_logs`\n- `pump_installations[].id` — unique within `pump_installations` _(since v2.3)_\n- `permits[].id` — unique within `permits` _(since v2.3)_\n- `permits[].conditions[].id` — unique within the `conditions` array of one permit _(since v2.3)_\n- `permits[].conditions[].fulfillments[].id` — unique within the `fulfillments` array of one condition _(since v2.3)_\n- `permits[].history[].id` — unique within the `history` array of one permit _(since v2.3)_\n- `permits[].monthly_schedule[].month` and `permits[].volume_limits[].period` — unique within one permit _(since v2.3)_\n- `meters[].id` — unique within `meters` _(since v2.3)_\n- `production[].id` — unique within `production` _(since v2.3)_\n- `operating_regime[].id` — unique within `operating_regime` _(since v2.3)_. `operating_regime[].effective_from` is not unique: duplicates are a warning _(since v2.4)_\n- `water_samples[].id` — unique within `water_samples` _(since v2.3)_\n- `attachments[].id` — unique within its owning array: the root `attachments`, or the `attachments` array of one record (`history_logs`, `permits`, `permits[].history`, `permits[].conditions[].fulfillments`, `pump_installations`, `meters`, `hydrodynamic_events`, `aquifer_analysis`, `water_samples`). The same id may appear under different records.\n- `well_id[]` — uniqueness is on the composite key `(authority, id)`, not on `id` alone\n\nAn ID value MAY repeat across different arrays without conflict (e.g. an event and an analysis MAY both use the ID `\"001\"`), though distinct values are recommended for clarity.\n\n### Cross-array references\n\nThe following fields hold references to IDs in other arrays:\n\n| Reference field                                       | Points to                  | Resolution scope |\n| ----------------------------------------------------- | -------------------------- | ---------------- |\n| `aquifer_analysis[].source_event_ids[]`               | `hydrodynamic_events[].id` | Same file only   |\n| `aquifer_analysis[].static_level_source_id`           | `hydrodynamic_events[].id` | Same file only   |\n| `hydrodynamic_events[].corrects`                      | `hydrodynamic_events[].id` | Same file only   |\n| `production[].corrects`                               | `production[].id`          | Same file only   |\n| `production[].meter_id`                               | `meters[].id`              | Same file only   |\n| `permits[].supersedes`                                | `permits[].id`             | Same file only   |\n| `history_logs[].pump_installation_id`                 | `pump_installations[].id`  | Same file only   |\n| `history_logs[].meter_id`                             | `meters[].id`              | Same file only   |\n| `history_logs[].hydrodynamic_event_ids[]`             | `hydrodynamic_events[].id` | Same file only   |\n| `history_logs[].sample_ids[]`                         | `water_samples[].id`       | Same file only   |\n| `permits[].conditions[].fulfillments[].event_id`      | `hydrodynamic_events[].id` | Same file only   |\n| `permits[].conditions[].fulfillments[].sample_id`     | `water_samples[].id`       | Same file only   |\n| `water_samples[].corrects`                            | `water_samples[].id`       | Same file only   |\n| `water_samples[].parent_sample_id`                    | `water_samples[].id`       | Same file only   |\n| `water_samples[].static_level_event_id`               | `hydrodynamic_events[].id` | Same file only   |\n| `water_samples[].sampling_point.pump_installation_id` | `pump_installations[].id`  | Same file only   |\n\nRoot `attachments` is not a registry: records never reference root attachments by id. Nor is it an aggregate: it holds only general files about the well as a whole (e.g. the drilling report), never copies of the attachments of `history_logs`, `permits` (including their `history` entries and condition `fulfillments`), `pump_installations`, `meters`, `hydrodynamic_events`, `aquifer_analysis` or `water_samples` entries. A document that concerns several records is repeated on each; `sha256` guarantees both copies point to the same file.\n\nCross-file references are not supported in v2.\n\n### Dangling references\n\nA **dangling reference** is a reference field whose value does not match any ID in the target array.\n\n- Dangling references MUST emit a warning naming the referring field, the referring object's ID, and the missing target ID.\n- Dangling references MUST NOT cause file rejection. Events may be legitimately deleted from history (regulatory retention rules, GDPR-style erasure) leaving analyses that reference them stranded.\n- Consumers MUST preserve unresolved references when re-exporting and MUST NOT remove them silently. Removing a reference is always a deliberate user action, never a side effect of import or export. _(since v2.4)_\n\n### Repeated records _(since v2.4)_\n\nCollective permits and campaign blanks apply to several wells, so they are repeated in each well's file.\n\n- Copies MUST share the same `id` and SHOULD have identical content.\n- Consumers MAY merge copies by `id`.\n- A fulfillment's `event_id` or `sample_id` resolves only in the file of the well that produced it. In the other copies it is an expected unresolved reference and emits no warning.\n\n### Duplicate IDs within a scope\n\nA **duplicate ID** occurs when two records in the same uniqueness scope share the same ID (or, for `well_id`, the same `(authority, id)` pair).\n\nDuplicate IDs are **malformed but recoverable**:\n\n- Parsers MUST NOT silently accept duplicate IDs. The file is considered malformed.\n- Parsers MUST NOT silently rewrite duplicate IDs. Automatic renaming would change the object graph in a way that downstream references cannot detect.\n- Interactive applications MUST surface the duplication to the user with sufficient context to decide:\n  - The IDs in conflict\n  - A summary of each conflicting record (datetime, type, key fields)\n  - The choices: **merge** (keep one, discard the other), **rename** (assign a new ID to one of them, updating any references in the same file), or **abort load**.\n- Non-interactive parsers (batch importers, server-side validators) MUST reject the file with a clear error rather than guess.\n- Any user-confirmed resolution MUST be logged as a `history_logs` entry with `category: \"event\"` describing what was changed.\n\nThe objective is deterministic load behavior: a `.well` file MUST produce the same object graph across all conformant parsers under default settings. User-mediated repair is the only path that can deviate from this, and it must be explicit.\n\n### `id` field convention\n\nAll `id` fields are `string` type. UUID v4 is recommended for new records. Sequential strings (e.g. `\"evt-001\"`) are valid for manually authored files. Numeric IDs from external systems are converted per the rule documented in § well_id (Numeric ID conversion).\n\n---\n\n## Precision and Uncertainty\n\nOptional one-sigma precision qualifiers are defined for the most consequential measurement fields. Parsers that do not recognize them ignore them per the foreign-members rule.\n\nThe precision field name is the measurement field name suffixed with `_precision`. The unit of the precision value is the unit of the measurement it qualifies.\n\n### Supported precision fields\n\n| Measurement     | Precision field           | Defined on                            |\n| --------------- | ------------------------- | ------------------------------------- |\n| `lat`           | `lat_precision`           | `LocationProperties`                  |\n| `lng`           | `lng_precision`           | `LocationProperties`                  |\n| `elevation`     | `elevation_precision`     | `LocationProperties`                  |\n| `static_level`  | `static_level_precision`  | events, `AquiferAnalysis`             |\n| `dynamic_level` | `dynamic_level_precision` | `AquiferAnalysis`                     |\n| `depth`         | `depth_precision`         | `LevelReading`, `Fracture`            |\n| `rate`          | `rate_precision`          | `PumpingStep`                         |\n| `flow_rate`     | `flow_rate_precision`     | `AquiferAnalysis`                     |\n| `depth`         | `depth_precision`         | `SamplingPoint` _(since v2.3)_        |\n| `value`         | `value_precision`         | water quality `Result` _(since v2.3)_ |\n\nAll precision fields are optional. When omitted, the measurement value carries no documented precision. Precision is the one-sigma standard deviation in the same unit as the measurement.\n\nLaboratory reports usually give an expanded uncertainty U with a coverage factor k (typically k = 2). Converters store `value_precision = U \u002F k`, never U itself.\n\n```json\n{ \"depth\": 44.8, \"depth_precision\": 0.01 }\n```\n\n---\n\n_`.well` Format Specification v2.4_\n",{"title":7,"description":8880},"format\u002Fspec\u002Fv2\u002Fformat-reference","fOlaS9MN_xuVeeLo-9xZ9F_FTX54ZgJwO5Ot9vixmRk",{"docs_en":8889,"spec":9204,"changelogs":9247},[8890,8910,8929,8984,9092,9146],{"title":8891,"path":8892,"stem":8893,"children":8894},"Ai","\u002Fai","ai",[8895,8898,8902,8906],{"title":8896,"path":8892,"stem":8897},"Introduction","ai\u002Findex",{"title":8899,"path":8900,"stem":8901},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":8903,"path":8904,"stem":8905},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":8907,"path":8908,"stem":8909},"MCP server","\u002Fai\u002Fmcp","ai\u002Fmcp",{"title":8911,"path":8912,"stem":8913,"children":8914},"Contributing","\u002Fcontributing","contributing",[8915,8917,8921,8925],{"title":8896,"path":8912,"stem":8916},"contributing\u002Findex",{"title":8918,"path":8919,"stem":8920},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":8922,"path":8923,"stem":8924},"Update rules","\u002Fcontributing\u002Fupdate-rules","contributing\u002F2.update-rules",{"title":8926,"path":8927,"stem":8928},"Content components","\u002Fcontributing\u002Fcomponents","contributing\u002Fcomponents",{"title":8930,"path":8931,"stem":8932,"children":8933},"Core","\u002Fcore","core",[8934,8936,8949,8978],{"title":8896,"path":8931,"stem":8935},"core\u002Findex",{"title":8937,"path":8938,"stem":8939,"children":8940,"page":8948},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[8941,8944],{"title":2384,"path":8942,"stem":8943},"\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":8945,"path":8946,"stem":8947},"First use","\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":8950,"path":8951,"stem":8952,"children":8953,"page":8948},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[8954,8958,8962,8966,8970,8974],{"title":8955,"path":8956,"stem":8957},"Parsing and validating","\u002Fcore\u002Fguides\u002Fparsing-and-validating","core\u002F2.guides\u002F1.parsing-and-validating",{"title":8959,"path":8960,"stem":8961},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":8963,"path":8964,"stem":8965},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":8967,"path":8968,"stem":8969},"Vocabularies and textures","\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","core\u002F2.guides\u002F4.vocabularies-and-textures",{"title":8971,"path":8972,"stem":8973},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":8975,"path":8976,"stem":8977},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":8979,"path":8980,"stem":8981,"children":8982},"API reference","\u002Fcore\u002Fapi","core\u002Fapi\u002Findex",[8983],{"title":8979,"path":8980,"stem":8981},{"title":8985,"path":8986,"stem":8987,"children":8988},"Format","\u002Fformat","format",[8989,8991,9011,9039,9063,9082,9088],{"title":8896,"path":8986,"stem":8990},"format\u002Findex",{"title":8937,"path":8992,"stem":8993,"children":8994,"page":8948},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[8995,8999,9003,9007],{"title":8996,"path":8997,"stem":8998},"What is .well?","\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","format\u002F1.getting-started\u002F1.what-is-well",{"title":9000,"path":9001,"stem":9002},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":9004,"path":9005,"stem":9006},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":9008,"path":9009,"stem":9010},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":9012,"path":9013,"stem":9014,"children":9015,"page":8948},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[9016,9020,9024,9028,9032,9036],{"title":9017,"path":9018,"stem":9019},"Depths and intervals","\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":9021,"path":9022,"stem":9023},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":9025,"path":9026,"stem":9027},"Vocabularies","\u002Fformat\u002Fconcepts\u002Fvocabularies","format\u002F2.concepts\u002F3.vocabularies",{"title":9029,"path":9030,"stem":9031},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":9033,"path":9034,"stem":9035},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":612,"path":9037,"stem":9038},"\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":8950,"path":9040,"stem":9041,"children":9042,"page":8948},"\u002Fformat\u002Fguides","format\u002F3.guides",[9043,9047,9051,9055,9059],{"title":9044,"path":9045,"stem":9046},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":9048,"path":9049,"stem":9050},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":9052,"path":9053,"stem":9054},"Validating","\u002Fformat\u002Fguides\u002Fvalidating","format\u002F3.guides\u002F3.validating",{"title":9056,"path":9057,"stem":9058},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":9060,"path":9061,"stem":9062},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":50,"path":9064,"stem":9065,"children":9066},"\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[9067,9068,9072,9076],{"title":50,"path":9064,"stem":9065},{"title":9069,"path":9070,"stem":9071},"JSON Schema","\u002Fformat\u002Freference\u002Fjson-schema","format\u002F4.reference\u002F1.json-schema",{"title":9073,"path":9074,"stem":9075},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":9077,"path":9078,"stem":9079,"children":9080},"Object reference","\u002Fformat\u002Freference\u002Fobjects","format\u002Freference\u002Fobjects\u002Findex",[9081],{"title":9077,"path":9078,"stem":9079},{"title":9083,"path":9084,"stem":9085,"children":9086},"About the spec","\u002Fformat\u002Fspec","format\u002F5.spec\u002Findex",[9087],{"title":9083,"path":9084,"stem":9085},{"title":9089,"path":9090,"stem":9091},"Changelog","\u002Fformat\u002Fchangelog","format\u002F6.changelog",{"title":9093,"path":9094,"stem":9095,"children":9096},"Render","\u002Frender","render",[9097,9099,9109,9141],{"title":8896,"path":9094,"stem":9098},"render\u002Findex",{"title":8937,"path":9100,"stem":9101,"children":9102,"page":8948},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[9103,9106],{"title":2384,"path":9104,"stem":9105},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":8945,"path":9107,"stem":9108},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":8950,"path":9110,"stem":9111,"children":9112,"page":8948},"\u002Frender\u002Fguides","render\u002F2.guides",[9113,9117,9121,9125,9129,9133,9137],{"title":9114,"path":9115,"stem":9116},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":9118,"path":9119,"stem":9120},"Layers and labels","\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":9122,"path":9123,"stem":9124},"Theming","\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":9126,"path":9127,"stem":9128},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":9130,"path":9131,"stem":9132},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":9134,"path":9135,"stem":9136},"Zoom, pan and highlights","\u002Frender\u002Fguides\u002Finteraction","render\u002F2.guides\u002F6.interaction",{"title":9138,"path":9139,"stem":9140},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":8979,"path":9142,"stem":9143,"children":9144},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[9145],{"title":8979,"path":9142,"stem":9143},{"title":9147,"path":9148,"stem":9149,"children":9150},"Utils","\u002Futils","utils",[9151,9153,9163,9199],{"title":8896,"path":9148,"stem":9152},"utils\u002Findex",{"title":8937,"path":9154,"stem":9155,"children":9156,"page":8948},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[9157,9160],{"title":2384,"path":9158,"stem":9159},"\u002Futils\u002Fgetting-started\u002Finstallation","utils\u002F1.getting-started\u002F1.installation",{"title":8945,"path":9161,"stem":9162},"\u002Futils\u002Fgetting-started\u002Ffirst-use","utils\u002F1.getting-started\u002F2.first-use",{"title":8950,"path":9164,"stem":9165,"children":9166,"page":8948},"\u002Futils\u002Fguides","utils\u002F2.guides",[9167,9171,9175,9179,9183,9187,9191,9195],{"title":9168,"path":9169,"stem":9170},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":9172,"path":9173,"stem":9174},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":9176,"path":9177,"stem":9178},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":9180,"path":9181,"stem":9182},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":9184,"path":9185,"stem":9186},"Water quality","\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":9188,"path":9189,"stem":9190},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":9192,"path":9193,"stem":9194},"SIAGAS import","\u002Futils\u002Fguides\u002Fsiagas-import","utils\u002F2.guides\u002F7.siagas-import",{"title":9196,"path":9197,"stem":9198},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":8979,"path":9200,"stem":9201,"children":9202},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[9203],{"title":8979,"path":9200,"stem":9201},[9205],{"title":8985,"path":8986,"stem":8987,"children":9206,"page":8948},[9207],{"title":9208,"path":9084,"stem":9209,"children":9210,"page":8948},"Spec","format\u002Fspec",[9211,9220,9229],{"title":9212,"path":9213,"stem":9214,"children":9215,"page":8948},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[9216],{"title":9217,"path":9218,"stem":9219},"FGDC Texture Patterns Reference","\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":9221,"path":9222,"stem":9223,"children":9224,"page":8948},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[9225],{"title":9226,"path":9227,"stem":9228},".well File Format Specification","\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":9230,"path":9231,"stem":9232,"children":9233,"page":8948},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[9234,9235,9238,9241,9244],{"title":7,"path":8883,"stem":8886},{"title":9236,"path":40,"stem":9237},".well File Format Specification — Version 2.4: Interoperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":9239,"path":36,"stem":9240},".well File Format Specification — Version 2.4: Object Schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":9242,"path":31,"stem":9243},".well File Format Specification — Version 2.4: Overview","format\u002Fspec\u002Fv2\u002Foverview",{"title":9245,"path":44,"stem":9246},".well File Format Specification — Version 2.4: Water Quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[9248,9253,9259],{"title":8930,"path":8931,"stem":8932,"children":9249,"page":8948},[9250],{"title":1593,"path":9251,"stem":9252},"\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":9093,"path":9094,"stem":9095,"children":9254,"page":8948},[9255],{"title":9256,"path":9257,"stem":9258},"@welldot\u002Frender","\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":9147,"path":9148,"stem":9149,"children":9260,"page":8948},[9261],{"title":9262,"path":9263,"stem":9264},"@welldot\u002Futils","\u002Futils\u002Fchangelog","utils\u002FCHANGELOG",1793050495106]