From 5efdb53077b0007700944bbcce56c0e1cf6da267 Mon Sep 17 00:00:00 2001 From: mjreno Date: Fri, 14 Nov 2025 08:28:13 -0500 Subject: [PATCH 1/3] write floats in scientific notation --- flopy4/mf6/codec/reader/grammar/basic.lark | 2 +- flopy4/mf6/codec/writer/filters.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flopy4/mf6/codec/reader/grammar/basic.lark b/flopy4/mf6/codec/reader/grammar/basic.lark index af2f3415..35e2d049 100644 --- a/flopy4/mf6/codec/reader/grammar/basic.lark +++ b/flopy4/mf6/codec/reader/grammar/basic.lark @@ -4,7 +4,7 @@ block_name: CNAME [INT] _list: line* line: [WS] item+ _NL+ item: word | NUMBER -word: /[a-zA-Z0-9._'~,-\\(\\)]+/ +word: /[a-zA-Z0-9._+'~,-\\(\\)]+/ %import common.NEWLINE -> _NL %import common.WS diff --git a/flopy4/mf6/codec/writer/filters.py b/flopy4/mf6/codec/writer/filters.py index bf9fa0ac..098260c8 100644 --- a/flopy4/mf6/codec/writer/filters.py +++ b/flopy4/mf6/codec/writer/filters.py @@ -115,7 +115,7 @@ def array2string(value: NDArray) -> str: format = ( "%d" if np.issubdtype(value.dtype, np.integer) - else "%.9f" + else "%.9e" if np.issubdtype(value.dtype, np.floating) else "%s" ) From d6d6da7656cdc4e65d7913f4104883ed8576844c Mon Sep 17 00:00:00 2001 From: mjreno Date: Fri, 14 Nov 2025 10:47:27 -0500 Subject: [PATCH 2/3] update pixi lockfile --- docs/examples/twri.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/examples/twri.py b/docs/examples/twri.py index 35d17d24..b0a72435 100644 --- a/docs/examples/twri.py +++ b/docs/examples/twri.py @@ -254,7 +254,7 @@ def plot_head(head, workspace): # add array based inputs # TODO: needs type checking and list consolidation support (see comments in gwf init) -gwf.chd = [chdg] +gwf.chdg = [chdg] gwf.drng = [drng] gwf.welg = [welg] gwf.rcha = [rcha] From 097d58e4fcdbf49d9003a58bbb91eeb0a837759a Mon Sep 17 00:00:00 2001 From: mjreno Date: Fri, 14 Nov 2025 12:45:14 -0500 Subject: [PATCH 3/3] lark word regex consistency --- flopy4/mf6/codec/reader/grammar/basic.lark | 2 +- flopy4/mf6/codec/reader/grammar/typed.lark | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flopy4/mf6/codec/reader/grammar/basic.lark b/flopy4/mf6/codec/reader/grammar/basic.lark index 35e2d049..c7b256c0 100644 --- a/flopy4/mf6/codec/reader/grammar/basic.lark +++ b/flopy4/mf6/codec/reader/grammar/basic.lark @@ -4,7 +4,7 @@ block_name: CNAME [INT] _list: line* line: [WS] item+ _NL+ item: word | NUMBER -word: /[a-zA-Z0-9._+'~,-\\(\\)]+/ +word: /[a-zA-Z0-9._'~,+-\\(\\)]+/ %import common.NEWLINE -> _NL %import common.WS diff --git a/flopy4/mf6/codec/reader/grammar/typed.lark b/flopy4/mf6/codec/reader/grammar/typed.lark index a3248bc4..c4342949 100644 --- a/flopy4/mf6/codec/reader/grammar/typed.lark +++ b/flopy4/mf6/codec/reader/grammar/typed.lark @@ -19,7 +19,7 @@ filename: ESCAPED_STRING | word data: double+ record: token+ NEWLINE token: number | word -word: /(?!(?i:begin|end))[a-zA-Z0-9._'~,-\\(\\)]+/ +word: /(?!(?i:begin|end))[a-zA-Z0-9._'~,+-\\(\\)]+/ _token: word | number %import common.NEWLINE