uw-macrostrat / corelle Goto Github PK
View Code? Open in Web Editor NEWSimple plate rotations, compatible with GPlates
Simple plate rotations, compatible with GPlates
Gurnis et al, 2018 outlines a new method, implemented in GPlates v2.1, for modeling continuously deforming plates. This is excellent news for continental and continental-margin tectonics in particular. As more plate models begin to incorporate the ability to model plate internal deformation, it would potentially be useful to model this in Corelle.
This transformation is mathematically more complex than the finite rotations employed in the current iteration of the model and will be much less performant for client-side rotations, so this is necessarily a low priority issue. Perhaps we can get some guidance from the EarthByte team that wrote the initial implementation.
As part of UW-Macrostrat/macrostrat#55, we had to ensure that the corelle.rotation_cache
index was unique – it appears to have been generated against plate polygons instead of the plates themselves.
ALTER TABLE corelle.rotation_cache ADD CONSTRAINT rotation_cache_unique UNIQUE (model_id, plate_id, t_step);
We should ensure that this index gets added on table creation.
We probably need to separate the CLI from the math functions
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/py-root/.venv/bin/macrostrat:5 in │
│ <module> │
│ │
│ 2 # -*- coding: utf-8 -*- │
│ 3 import re │
│ 4 import sys │
│ ❱ 5 from macrostrat.cli.cli import main │
│ 6 if __name__ == "__main__": │
│ 7 │ sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) │
│ 8 │ sys.exit(main()) │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/cli/macrostrat/cli/cli.py:260 in │
│ <module> │
│ │
│ 257 │
│ 258 try: │
│ 259 │ environ["CORELLE_DB"] = app.settings.pg_database │
│ ❱ 260 │ from corelle.engine import cli as corelle_cli │
│ 261 │ from corelle.engine.database import initialize │
│ 262 │ │
│ 263 │ corelle_cli.name = "corelle" │
│ │
│ /Users/Daven/Projects/Macrostrat/Software/corelle/py-packages/engine/corelle/engine/__init__.py: │
│ 1 in <module> │
│ │
│ ❱ 1 from .cli import cli │
│ 2 │
│ │
│ /Users/Daven/Projects/Macrostrat/Software/corelle/py-packages/engine/corelle/engine/cli.py:8 in │
│ <module> │
│ │
│ 5 from os import environ │
│ 6 import click │
│ 7 from click import group, argument, option, echo │
│ ❱ 8 from corelle.math import quaternion_to_euler │
│ 9 from macrostrat.utils import working_directory │
│ 10 from pathlib import Path │
│ 11 │
│ │
│ /Users/Daven/Projects/Macrostrat/Software/corelle/py-packages/client/corelle/math/__init__.py:2 │
│ in <module> │
│ │
│ 1 import numpy as N │
│ ❱ 2 import quaternion as Q │
│ 3 from .util import unit_vector │
│ 4 │
│ 5 │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/.venv/lib/python3.11/site-packages/qu │
│ aternion/__init__.py:34 in <module> │
│ │
│ 31 from .quaternion_time_series import ( │
│ 32 │ unflip_rotors, slerp, squad, integrate_angular_velocity, minimal_rotation, angular_v │
│ 33 ) │
│ ❱ 34 from .calculus import ( │
│ 35 │ derivative, antiderivative, definite_integral, indefinite_integral, │
│ 36 │ fd_derivative, fd_definite_integral, fd_indefinite_integral, │
│ 37 │ spline_derivative, spline_definite_integral, spline_indefinite_integral, │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/.venv/lib/python3.11/site-packages/qu │
│ aternion/calculus.py:462 in <module> │
│ │
│ 459 │
│ 460 │
│ 461 try: │
│ ❱ 462 │ from scipy.interpolate import InterpolatedUnivariateSpline │
│ 463 │ spline = spline_evaluation │
│ 464 │ derivative = spline_derivative │
│ 465 │ antiderivative = spline_indefinite_integral │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/.venv/lib/python3.11/site-packages/sc │
│ ipy/interpolate/__init__.py:167 in <module> │
│ │
│ 164 ``pchip`` is an alias of `PchipInterpolator` for backward compatibility │
│ 165 (should not be used in new code). │
│ 166 """ │
│ ❱ 167 from ._interpolate import * │
│ 168 from ._fitpack_py import * │
│ 169 │
│ 170 # New interface to fitpack library: │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/.venv/lib/python3.11/site-packages/sc │
│ ipy/interpolate/_interpolate.py:12 in <module> │
│ │
│ 9 import scipy.special as spec │
│ 10 from scipy.special import comb │
│ 11 │
│ ❱ 12 from . import _fitpack_py │
│ 13 from . import dfitpack │
│ 14 from ._polyint import _Interpolator1D │
│ 15 from . import _ppoly │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/.venv/lib/python3.11/site-packages/sc │
│ ipy/interpolate/_fitpack_py.py:10 in <module> │
│ │
│ 7 # These are in the API for fitpack even if not used in fitpack.py itself. │
│ 8 from ._fitpack_impl import bisplrep, bisplev, dblint # noqa: F401 │
│ 9 from . import _fitpack_impl as _impl │
│ ❱ 10 from ._bsplines import BSpline │
│ 11 │
│ 12 │
│ 13 def splprep(x, w=None, u=None, ub=None, ue=None, k=3, task=0, s=None, t=None, │
│ │
│ /Users/Daven/Projects/Macrostrat/Infrastructure/macrostrat/.venv/lib/python3.11/site-packages/sc │
│ ipy/interpolate/_bsplines.py:10 in <module> │
│ │
│ 7 │ │ │ │ │ │ cholesky_banded, cho_solve_banded, │
│ 8 │ │ │ │ │ │ solve, solve_banded) │
│ 9 from scipy.optimize import minimize_scalar │
│ ❱ 10 from . import _bspl │
│ 11 from . import _fitpack_impl │
│ 12 from scipy.sparse import csr_array │
│ 13 from scipy.special import poch │
│ in parent:405 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
This project deserves some documentation!
Cities are useful for intercomparison between plate models, as well as for human-friendly visualizations.
We should integrate a cities database (e.g., https://gist.github.com/curran/13d30e855d48cdd6f22acdf0afe27286/) into the pre-tagged datasets provided by Corelle.
Error keeps appearing when I try to build.
': No such file or directorycute 'sh
Caused by a line ending issue between Windows and Mac OS (crlf vs lf). I believe the issue is that some files' line endings are changed to CRLF when cloned from Github on a windows computer. Then docker won't build it because the linux base needs LF line endings. Changes to the .gitattributes don't seem to be working right now. A short term solution can be using this on the git command line at the time of cloning a repository.
git clone [email protected]:repositoryname.git --config core.autocrlf=input
If I clone using the --config core.autocrlf=input
it will build successfully.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.