Skip to content

pygridgen dependency #12

@bjornaa

Description

@bjornaa

Hi,

First, I am not negative to pygridgen by itself. I have seen Rob giving very impressive demonstrations of the software. But I do not think it is a good idea to make xroms depend on it. I will illustrate this be giving my user experience today.

I try to run the examples, in particular the new interpolation example.

After fixing the bugs described in my previous issue. I started again.
A download of 2GB for running an example, is on the heavy side, but OK.

With the data in place, I started again. Crash, pygridgen is missing.

No problem I thought, conda is your friend, and conda install pygridgen worked nicely.

Restart kernel and try again. Now it crashed due to a bug in pygridgen:
While executing the line

  ds, grid = xroms.roms_dataset(ds, add_verts=True, proj=proj)

I get a NameError from pygridgen/grid.py saying "empty" is not defined
The offending code looks like

  1017     x = empty((Mp + 1, Lp + 1), dtype='d')

Of course, conda may have given me a bad version

pygridgen                 0.2.1            py38hc1659b7_3    conda-forge

Then I go one step further, try github and find https://github.com/rsignell-usgs/pygridgen
As this is maintained by a master, I was quite happy.
However, the last commit was in 2012, it is written in python 2 and depends on basemap
and some obscure features of matplotlib no longer existing.

I am sure you at Texas A&M have an updated version of pygridgen working nicely for you.
But I was hoping that xroms should stay away from hard-to-come-by and hard-to-install specific
C-based dependencies.

The vertices defined by Rob is a good idea that may be useful in xroms, but they do not
require the full pygridgen package.

General comment

It boils down to what you (we?) want xroms to be. A package supporting research at TA&M
(of course an important use of your own developer resources)
or a package of general use by the intersection of the ROMS and python communities. It is however
important to tell potential users the main objectives of the package.

BTW. I feel the same tension with my particle tracking code. It is tempting to tailor it for IMR research
and our own computing environment, but I try to avoid it to make the code generally useful.

Sorry for the long rant,
Bjørn Å.

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