Skip to content

Commit 851d168

Browse files
Add rename_layers_to_old_names to get_regis (#424)
* Add rename_layers_to_old_names * Name argument rename_layers_to_version_2_2_2 instead of rename_layers_to_old_names * move files to regis directory and add to pyproject * add regis to pyproject * excel -> csv and add mv * codacy --------- Co-authored-by: Onno Ebbens <[email protected]>
1 parent 388e6cf commit 851d168

5 files changed

Lines changed: 210 additions & 3 deletions

File tree

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
Naam (REGIS II),Oude code,Groepscode,Wijziging,Nieuwe code,Toelichting
2+
Maaiveld,mv,,,mv,
3+
Antropogene afzettingen,AA,NU,,NUAA,
4+
"Holocene afzettingen, complexe eenheid",HLc,NU,hlc,NUhlc,1
5+
"Formatie van Boxtel, zandige eenheid",BXz,NU,,NUBXz,
6+
"Formatie van Boxtel, eerste zandige eenheid",BXz1,NU,,NUBXz1,
7+
"Formatie van Boxtel, Laagpakket van Schimmert, eerste kleiige eenheid",BXSCk1,NU,,NUBXSCk1,
8+
"Formatie van Boxtel, tweede zandige eenheid",BXz2,NU,,NUBXz2,
9+
"Formatie van Boxtel, Laagpakket van Liempde, eerste kleiige eenheid",BXLMk1,NU,,NUBXLMk1,
10+
"Formatie van Boxtel, eerste kleiige eenheid",BXk1,NU,,NUBXk1,
11+
"Formatie van Boxtel, derde zandige eenheid",BXz3,NU,,NUBXz3,
12+
"Formatie van Boxtel, tweede kleiige eenheid",BXk2,NU,,NUBXk2,
13+
"Formatie van Boxtel, vierde zandige eenheid",BXz4,NU,,NUBXz4,
14+
"Formatie van Kreftenheye, zandige eenheid",KRz,NU,,NUKRz,
15+
"Formatie van Kreftenheye, eerste zandige eenheid",KRz1,NU,,NUKRz1,
16+
"Formatie van Kreftenheye, Laag van Wijchen, eerste kleiige eenheid",KRWYk1,NU,,NUKRWYk1,
17+
"Formatie van Kreftenheye, tweede zandige eenheid",KRz2,NU,,NUKRz2,
18+
"Formatie van Kreftenheye, eerste kleiige eenheid",KRk1,NU,,NUKRk1,
19+
"Formatie van Kreftenheye, derde zandige eenheid",KRz3,NU,,NUKRz3,
20+
"Formatie van Beegden, zandige eenheid",BEz,NU,,NUBEz,
21+
"Formatie van Beegden, eerste zandige eenheid",BEz1,NU,,NUBEz1,
22+
"Formatie van Beegden, Laag van Rosmalen, eerste kleiige eenheid",BEROk1,NU,,NUBEROk1,
23+
"Formatie van Beegden, eerste kleiige eenheid",BEk1,NU,,NUBEk1,
24+
"Formatie van Beegden, tweede zandige eenheid",BEz2,NU,,NUBEz2,
25+
"Formatie van Beegden, tweede kleiige eenheid",BEk2,NU,,NUBEk2,
26+
"Formatie van Beegden, derde zandige eenheid",BEz3,NU,,NUBEz3,
27+
"Formatie van Koewacht, zandige eenheid",KWz,NU,,NUKWz,
28+
"Formatie van Koewacht, eerste zandige eenheid",KWz1,NU,,NUKWz1,
29+
"Formatie van Woudenberg, eerste venige eenheid",WBv1,NU,,NUWBv1,
30+
"Eem Formatie, zandige eenheid",EEz,NU,,NUEEz,
31+
"Eem Formatie, eerste zandige eenheid",EEz1,NU,,NUEEz1,
32+
"Eem Formatie, eerste kleiige eenheid",EEk1,NU,,NUEEk1,
33+
"Eem Formatie, tweede zandige eenheid",EEz2,NU,,NUEEz2,
34+
"Eem Formatie, tweede kleiige eenheid",EEk2,NU,,NUEEk2,
35+
"Eem Formatie, derde zandige eenheid",EEz3,NU,,NUEEz3,
36+
"Formatie van Kreftenheye, Laagpakket van Zutphen, eerste kleiige eenheid",KRZUk1,NU,,NUKRZUk1,
37+
"Formatie van Kreftenheye, vierde zandige eenheid",KRz4,NU,,NUKRz4,
38+
"Formatie van Kreftenheye, Laagpakket van Twello, eerste kleiige eenheid",KRTWk1,NU,,NUKRTWk1,
39+
"Formatie van Kreftenheye, vijfde zandige eenheid",KRz5,NU,,NUKRz5,
40+
"Formatie van Drente, zandige eenheid",DRz,NU,,NUDRz,
41+
"Formatie van Drente, eerste zandige eenheid",DRz1,NU,,NUDRz1,
42+
"Formatie van Drente, Laagpakket van Uitdam, eerste kleiige eenheid",DRUIk1,NU,,NUDRUIk1,
43+
"Formatie van Drente, tweede zandige eenheid",DRz2,NU,,NUDRz2,
44+
"Formatie van Drente, Laagpakket van Gieten, eerste kleiige eenheid",DRGIk1,NU,,NUDRGIk1,
45+
"Formatie van Drente, derde zandige eenheid",DRz3,NU,,NUDRz3,
46+
"Formatie van Drente, Laagpakket van Gieten, tweede kleiige eenheid",DRGIk2,NU,,NUDRGIk2,
47+
"Gestuwde afzettingen, complexe eenheid",DTc,NU,gsc,NUgsc,2
48+
"Formatie van Drachten, zandige eenheid",DNz,NU,,NUDNz,
49+
"Formatie van Drachten, eerste zandige eenheid",DNz1,NU,,NUDNz1,
50+
"Formatie van Urk, zandige eenheid",URz,NU,,NUURz,
51+
"Formatie van Urk, eerste zandige eenheid",URz1,NU,,NUURz1,
52+
"Formatie van Urk, eerste kleiige eenheid",URk1,NU,,NUURk1,
53+
"Formatie van Urk, tweede zandige eenheid",URz2,NU,,NUURz2,
54+
"Formatie van Urk, tweede kleiige eenheid",URk2,NU,,NUURk2,
55+
"Formatie van Urk, derde zandige eenheid",URz3,NU,,NUURz3,
56+
"Formatie van Peelo, zandige eenheid",PEz,NU,,NUPEz,
57+
"Formatie van Peelo, eerste zandige eenheid",PEz1,NU,,NUPEz1,
58+
"Formatie van Peelo, eerste kleiige eenheid",PEk1,NU,,NUPEk1,
59+
"Formatie van Peelo, tweede zandige eenheid",PEz2,NU,,NUPEz2,
60+
"Formatie van Peelo, tweede kleiige eenheid",PEk2,NU,,NUPEk2,
61+
"Formatie van Peelo, derde zandige eenheid",PEz3,NU,,NUPEz3,
62+
"Formatie van Urk, vierde zandige eenheid",URz4,NU,,NUURz4,
63+
"Formatie van Urk, derde kleiige eenheid",URk3,NU,,NUURk3,
64+
"Formatie van Urk, vijfde zandige eenheid",URz5,NU,,NUURz5,
65+
"Formatie van Sterksel, zandige eenheid",STz,NU,,NUSTz,
66+
"Formatie van Sterksel, eerste zandige eenheid",STz1,NU,,NUSTz1,
67+
"Formatie van Sterksel, eerste kleiige eenheid",STk1,NU,,NUSTk1,
68+
"Formatie van Sterksel, tweede zandige eenheid",STz2,NU,,NUSTz2,
69+
"Formatie van Appelscha, zandige eenheid",APz,NU,,NUAPz,
70+
"Formatie van Appelscha, eerste zandige eenheid",APz1,NU,,NUAPz1,
71+
"Formatie van Stramproy, zandige eenheid",SYz,NU,,NUSYz,
72+
"Formatie van Stramproy, eerste zandige eenheid",SYz1,NU,,NUSYz1,
73+
"Formatie van Stramproy, eerste kleiige eenheid",SYk1,NU,,NUSYk1,
74+
"Formatie van Stramproy, tweede zandige eenheid",SYz2,NU,,NUSYz2,
75+
"Formatie van Stramproy, tweede kleiige eenheid",SYk2,NU,,NUSYk2,
76+
"Formatie van Stramproy, derde zandige eenheid",SYz3,NU,,NUSYz3,
77+
"Formatie van Stramproy, derde kleiige eenheid",SYk3,NU,,NUSYk3,
78+
"Formatie van Stramproy, vierde zandige eenheid",SYz4,NU,,NUSYz4,
79+
"Formatie van Peize en Formatie van Waalre, zandige eenheid",PZWAz,NU,PZ-WAz,NUPZ-WAz,3
80+
"Formatie van Peize en Formatie van Waalre, eerste zandige eenheid",PZWAz1,NU,PZ-WAz1,NUPZ-WAz1,3
81+
"Formatie van Waalre, eerste kleiige eenheid",WAk1,NU,,NUWAk1,
82+
"Formatie van Peize en Formatie van Waalre, tweede zandige eenheid",PZWAz2,NU,PZ-WAz2,NUPZ-WAz2,3
83+
"Formatie van Waalre, tweede kleiige eenheid",WAk2,NU,,NUWAk2,
84+
"Formatie van Peize, eerste kleiige eenheid",PZk1,NU,,NUPZk1,
85+
"Formatie van Peize en Formatie van Waalre, derde zandige eenheid",PZWAz3,NU,PZ-WAz3,NUPZ-WAz3,3
86+
"Formatie van Waalre, derde kleiige eenheid",WAk3,NU,,NUWAk3,
87+
"Formatie van Peize, complexe eenheid",PZc,NU,,NUPZc,
88+
"Formatie van Peize en Formatie van Waalre, vierde zandige eenheid",PZWAz4,NU,PZ-WAz4,NUPZ-WAz4,3
89+
"Formatie van Maassluis, zandige eenheid",MSz,NU,,NUMSz,
90+
"Formatie van Maassluis, eerste zandige eenheid",MSz1,NU,,NUMSz1,
91+
"Formatie van Maassluis, eerste kleiige eenheid",MSk1,NU,,NUMSk1,
92+
"Formatie van Maassluis, tweede zandige eenheid",MSz2,NU,,NUMSz2,
93+
"Formatie van Maassluis, tweede kleiige eenheid",MSk2,NU,,NUMSk2,
94+
"Formatie van Maassluis, derde zandige eenheid",MSz3,NU,,NUMSz3,
95+
"Formatie van Maassluis, complexe eenheid",MSc,NU,,NUMSc,
96+
"Formatie van Maassluis, vierde zandige eenheid",MSz4,NU,,NUMSz4,
97+
"Kiezelooliet Formatie, zandige eenheid",KIz,NU,,NUKIz,
98+
"Kiezelooliet Formatie, eerste zandige eenheid",KIz1,NU,,NUKIz1,
99+
"Kiezelooliet Formatie, eerste kleiige eenheid",KIk1,NU,,NUKIk1,
100+
"Kiezelooliet Formatie, tweede zandige eenheid",KIz2,NU,,NUKIz2,
101+
"Kiezelooliet Formatie, tweede kleiige eenheid",KIk2,NU,,NUKIk2,
102+
"Kiezelooliet Formatie, derde zandige eenheid",KIz3,NU,,NUKIz3,
103+
"Kiezelooliet Formatie, derde kleiige eenheid",KIk3,NU,,NUKIk3,
104+
"Kiezelooliet Formatie, vierde zandige eenheid",KIz4,NU,,NUKIz4,
105+
"Kiezelooliet Formatie, vierde kleiige eenheid",KIk4,NU,,NUKIk4,
106+
"Kiezelooliet Formatie, vijfde zandige eenheid",KIz5,NU,,NUKIz5,
107+
"Formatie van Oosterhout, zandige eenheid",OOz,NU,,NUOOz,
108+
"Formatie van Oosterhout, eerste zandige eenheid",OOz1,NU,,NUOOz1,
109+
"Formatie van Oosterhout, eerste kleiige eenheid",OOk1,NU,,NUOOk1,
110+
"Formatie van Oosterhout, tweede zandige eenheid",OOz2,NU,,NUOOz2,
111+
"Formatie van Oosterhout, complexe eenheid",OOc,NU,,NUOOc,
112+
"Formatie van Inden, zandige eenheid",IEz,NU,,NUIEz,
113+
"Formatie van Inden, eerste zandige eenheid",IEz1,NU,,NUIEz1,
114+
"Formatie van Inden, eerste kleiige eenheid",IEk1,NU,,NUIEk1,
115+
"Formatie van Inden, tweede zandige eenheid",IEz2,NU,,NUIEz2,
116+
"Formatie van Inden, tweede kleiige eenheid",IEk2,NU,,NUIEk2,
117+
"Formatie van Inden, derde zandige eenheid",IEz3,NU,,NUIEz3,
118+
"Formatie van Breda, zandige eenheid",BRz,NU,,NUBRz,
119+
"Formatie van Breda, eerste zandige eenheid",BRz1,NU,,NUBRz1,
120+
"Formatie van Breda, eerste kleiige eenheid",BRk1,NU,,NUBRk1,
121+
"Formatie van Breda, tweede zandige eenheid",BRz2,NU,,NUBRz2,
122+
"Formatie van Ville, eerste bruinkooleenheid",VIb1,NU,,NUVIb1,
123+
"Formatie van Breda, derde zandige eenheid",BRz3,NU,,NUBRz3,
124+
"Formatie van Ville, tweede bruinkooleenheid",VIb2,NU,,NUVIb2,
125+
"Formatie van Breda, vierde zandige eenheid",BRz4,NU,,NUBRz4,
126+
"Formatie van Veldhoven, Laagpakket van Voort, complexe eenheid",VEVOc,NM,,NMVEVOc,
127+
"Rupel Formatie, zandige eenheid",RUz,NM,,NMRUz,
128+
"Rupel Formatie, eerste zandige eenheid",RUz1,NM,,NMRUz1,
129+
"Rupel Formatie, Laagpakket van Boom, eerste kleiige eenheid",RUBOk1,NM,,NMRUBOk1,
130+
"Rupel Formatie, tweede zandige eenheid",RUz2,NM,,NMRUz2,
131+
"Rupel Formatie, eerste kleiige eenheid",RUk1,NM,,NMRUk1,
132+
"Rupel Formatie, derde zandige eenheid",RUz3,NM,,NMRUz3,
133+
"Rupel Formatie, tweede kleiige eenheid",RUk2,NM,,NMRUk2,
134+
"Rupel Formatie, vierde zandige eenheid",RUz4,NM,,NMRUz4,
135+
"Formatie van Tongeren, zandige eenheid",TOz,NM,,NMTOz,
136+
"Formatie van Tongeren, eerste zandige eenheid",TOz1,NM,,NMTOz1,
137+
"Formatie van Tongeren, Laagpakket van Goudsberg, eerste kleiige eenheid",TOGOk1,NM,,NMTOGOk1,
138+
"Formatie van Tongeren, tweede zandige eenheid",TOz2,NM,,NMTOz2,
139+
"Formatie van Tongeren, Laagpakket van Watervliet, eerste kleiige eenheid",TOZEWAk1,NM,TOWAk1,NMTOWAk1,4
140+
"Formatie van Tongeren, derde zandige eenheid",TOz3,NM,,NMTOz3,
141+
"Formatie van Dongen, zandige eenheid",DOz,NL,,NLDOz,
142+
"Formatie van Dongen, eerste zandige eenheid",DOz1,NL,,NLDOz1,
143+
"Formatie van Dongen, Laagpakket van Asse, eerste kleiige eenheid",DOASk1,NL,,NLDOASk1,
144+
"Formatie van Dongen, tweede zandige eenheid",DOz2,NL,,NLDOz2,
145+
"Formatie van Dongen, eerste kleiige eenheid",DOk1,NL,,NLDOk1,
146+
"Formatie van Dongen, derde zandige eenheid",DOz3,NL,,NLDOz3,
147+
"Formatie van Dongen, Laagpakket van Ieper, eerste kleiige eenheid",DOIEk1,NL,,NLDOIEk1,
148+
"Formatie van Dongen, vierde zandige eenheid",DOz4,NL,,NLDOz4,
149+
"Formatie van Landen, complexe eenheid",LAc,NL,,NLLAc,
150+
"Formatie van Heijenrath, complexe eenheid",HTc,NU,,NUHTc,
151+
"Formatie van Houthem, kalksteeneenheid",HOq,CK,HMq,CKHMq,5
152+
"Formatie van Maastricht, kalksteeneenheid",MTq,CK,MAq,CKMAq,5
153+
"Formatie van Gulpen, kalksteeneenheid",GUq,CK,GPq,CKGPq,5
154+
"Formatie van Vaals, complexe eenheid",VAc,CK,,CKVAc,
155+
"Formatie van Aken, complexe eenheid",AKc,CK,,CKAKc,
156+
,,,,,
157+
"Toelichting bij de wijzigingen in REGIS II, anders dan het toevoegen van de groepscode:",,,,,
158+
,,,,,
159+
"1.    De Holocene afzettingen zijn niet als zodanig gedefinieerd in de Nomenclator. Het formatiedeel van de code (‘hl’) wordt daarom met kleine letters geschreven, gevolgd door de ‘c’ van complexe eenheid. De eenheid omvat de formaties van Naaldwijk, Echteld, Nieuwkoop en Kreekrak, de antropogene afzettingen en delen van de formaties van Boxtel en Beegden.",,,,,
160+
"2.    De door landijs gestuwde afzettingen zijn niet als zodanig gedefinieerd in de Nomenclator. Het formatiedeel van de code (‘gs’) wordt daarom met kleine letters geschreven wordt, gevolgd door de ‘c’ van complexe eenheid. De eenheid bestaat uit gestuwd materiaal van één of meerdere oudere formaties.",,,,,
161+
3.    De formaties van Peize en Waalre zijn gecombineerd in één eenheid waarbij beide codes gescheiden door een koppelstreepje worden opgenomen (‘NUPZ-WA’).,,,,,
162+
4.    Het Laagpakket van Zelzate van de Formatie van Tongeren is vervallen; de Laag van Watervliet is een laagpakket geworden. De code verandert daarom van ‘TOZEWAk1’ naar ‘TOWAk1’.,,,,,
163+
"5.    De formaties van Houthem, Maastricht en Gulpen hebben een nieuwe formatiecode gekregen.",,,,,
164+
,,,,,
165+
Toelichting op de algemene lithologische karakteristiek van de hydrogeologische eenheden van REGIS II (ongewijzigd in deze release):,,,,,
166+
,,,,,
167+
"        k - Kleiige hydrogeologische eenheid, overwegend bestaande uit klei, zandige klei en/of kleiig zand of leem.",,,,,
168+
"        c - Complexe hydrogeologische eenheid, bestaande uit een afwisseling van zandige, kleiige en organogene afzettingen.",,,,,
169+
"        v - Venige hydrogeologische eenheid, overwegend bestaande uit veen en/of bruinkool en andere organogene afzettingen.",,,,,
170+
"        b - Hydrogeologische bruinkooleenheid, overwegend bestaande uit bruinkool.",,,,,
171+
"        q - Kalksteen hydrogeologische eenheid, overwegend bestaande uit kalksteen, al dan niet afgewisseld met vuursteenbanken.",,,,,
172+
"        z - Zandige hydrogeologische eenheid, overwegend bestaande uit zand (fijn tot en met grof zand), grind en/of schelpen.",,,,,

nlmod/read/geotop.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ def add_kh_and_kv(
383383
or "linear". Allowed values are "arithmetic_mean" and "harmonic_mean". The
384384
default is "arithmetic_mean".
385385
anisotropy : float, optional
386-
THe anisotropy value used when there are no kv values in df. The default is 1.0.
386+
The anisotropy value used when there are no kv values in df. The default is 1.0.
387387
kh : str, optional
388388
THe name of the new variable with kh values in gt. The default is "kh".
389389
kv : str, optional

nlmod/read/regis.py

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ def get_regis(
106106
drop_layer_dim_from_top=True,
107107
probabilities=False,
108108
nodata=-9999,
109+
rename_layers_to_version_2_2_2=True,
109110
):
110111
"""Get a regis dataset projected on the modelgrid.
111112
@@ -135,6 +136,10 @@ def get_regis(
135136
nodata : int or float, optional
136137
When nodata is not None, set values equal to nodata to nan. The default is
137138
-9999.
139+
rename_layers_to_version_2_2_2 : bool, toptional
140+
From version 2.2.3 of regis, the names of stratigraphic layers change, compared
141+
to previous versions. If rename_layers_to_version_2_2_2 is True, the layer-names are
142+
renamed back to their original names. The default is True.
138143
139144
Returns
140145
-------
@@ -165,8 +170,13 @@ def get_regis(
165170
if (ds["y"].diff("y") > 0).all():
166171
ds = ds.isel(y=slice(None, None, -1))
167172

173+
if rename_layers_to_version_2_2_2 and ds.attrs["title"] == "REGIS v02r2s3":
174+
df = get_table_name_changes()
175+
layer = df.set_index("Nieuwe code")["Oude code"].loc[ds.layer]
176+
ds = ds.assign_coords({"layer": layer})
177+
168178
# slice layers
169-
if botm_layer is not None:
179+
if botm_layer is not None and botm_layer in ds.layer:
170180
ds = ds.sel(layer=slice(botm_layer))
171181

172182
# rename bottom to botm, as it is called in FloPy
@@ -358,7 +368,7 @@ def get_legend(kind="REGIS"):
358368
raise (ValueError(f"Only allowed values for kind are {allowed_kinds}"))
359369
if kind in ["REGIS", "combined"]:
360370
dir_path = os.path.dirname(os.path.realpath(__file__))
361-
fname = os.path.join(dir_path, "..", "data", "regis_2_2.gleg")
371+
fname = os.path.join(dir_path, "..", "data", "regis", "regis_2_2.gleg")
362372
leg_regis = read_gleg(fname)
363373
if kind == "REGIS":
364374
return leg_regis
@@ -418,3 +428,27 @@ def read_voleg(fname):
418428
leg["color"] = clrs
419429
leg = leg.drop(["r", "g", "b", "a"], axis=1)
420430
return leg
431+
432+
433+
def get_table_name_changes():
434+
"""
435+
Get the table with name changes of REGIS
436+
437+
Returns
438+
-------
439+
df : pd.DataFrame
440+
A DataFrame containsing old and new names.
441+
442+
"""
443+
dir_path = os.path.dirname(os.path.realpath(__file__))
444+
fname = "Tabellen.bij.naamgevingsreleases.REGIS.II.csv"
445+
fname = os.path.join(dir_path, "..", "data", "regis", fname)
446+
df = pd.read_csv(fname)
447+
448+
# remove (REGIS II) for the header of the first column, after "Naam"
449+
df.columns = df.columns.str.replace(" (REGIS II)", "")
450+
451+
# drop the lines after the first empty row
452+
first_empty_row = np.where(df.iloc[:, 0].isna())[0][0]
453+
df = df.iloc[:first_empty_row]
454+
return df

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ include-package-data = true
9696
[tool.setuptools.package-data]
9797
"nlmod.data" = ["*.gleg"]
9898
"nlmod.data.geotop" = ["*"]
99+
"nlmod.data.regis" = ["*"]
99100
"nlmod.data.shapes" = ["*"]
100101
"nlmod.data.ahn" = ["*"]
101102
"nlmod.data.bgt" = ["*"]

0 commit comments

Comments
 (0)