Skip to content

Low and mid-level functions #3

@mwtoews

Description

@mwtoews

Hi @jtwhite79 I have some parallel development going on:

  • ctypes_declarations.py - these are lowish-level ctypes stuff, no fancy classes
  • core.py - this is mid-ish-level logic for now that sends and receives basic Python and NumPy types with classes, but doesn't do too much higher-level pandas stuff. It's work in progress

It's parallel development, as you have similar interfaces in utils.py. We'll sort out how to harmonise the approaches at some point, but I don't want to step on your commits for now.

Here are some examples:

from pypestutils import core

lib = core.PestUtilsLib(logger_level=10)
# DEBUG:PestUtilsLib: loaded <CDLL '/data/mtoews/src/pypestutils/pypestutils-git/pypestutils/lib/libpestutils.so', handle 558649cfe590 at 0x7ff94c122370>
# DEBUG:PestUtilsLib: added prototypes

lib.install_structured_grid("foo", 3, 3, 4, 1, 1.1, 2.2, 0.0, 10, 20)
# INFO:PestUtilsLib: installed strictured grid 'foo' from specs

lib.uninstall_mf6_grid("foo")
# PestUtilsLibException: The name "foo" does not correspond to an installed MODFLOW 6 grid.

lib.install_mf6_grid_from_file("foo", "autotest/freyberg_structured/freyberg6.dis.grb")
# INFO:PestUtilsLib: installed mf6 grid 'foo' from grbfile='freyberg6.dis.grb'
# {'idis': 1, 'ncells': 2400, 'ndim1': 20, 'ndim2': 40, 'ndim3': 3}

lib.uninstall_mf6_grid("foo")
# INFO:PestUtilsLib: uninstalled mf6 grid 'foo'

it's going pretty smoothly, no crashes!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions