crevasse_propagation

thermo-visco-elastic model for slow crevasse propagation adapted from Poinar et al., 2017

https://github.com/jzmejia/crevasse_propagation

Science Score: 28.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

crevasse fracture fracture-mechanics glaciology ice ice-fracture model numerical-model python
Last synced: 6 months ago · JSON representation ·

Repository

thermo-visco-elastic model for slow crevasse propagation adapted from Poinar et al., 2017

Basic Info
  • Host: GitHub
  • Owner: jzmejia
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 7.16 MB
Statistics
  • Stars: 7
  • Watchers: 3
  • Forks: 0
  • Open Issues: 5
  • Releases: 0
Topics
crevasse fracture fracture-mechanics glaciology ice ice-fracture model numerical-model python
Created over 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

CrevProp: A crevasse propagation model

Documentation Status GitHub GitHub top language GitHub code size in bytes

GitHub last commit GitHub commit activity

crevprop documentation

Description

A thermo-visco-elastic modoel for hydraulically driven crevasse propagation through cold ice. This model was originally created by Kristin Poinar (Poinar et al., 2017), written in MatLab. The Python implementation was initially created by jzmejia Aug 2021. This repo contains the python implementaion of crevprop which includes added functionality, project restructuring, and additional/expanded equations.

Usage

```python import pandas as pd from crevprop.iceblock import IceBlock

initialize model geometry for a domain with an ice thickness

of 1000 m and vertical resolution (dz spacing) of 1 m.

df = pd.readcsv('temperatureprofile.csv') creepdf = pd.readcsv('creepdeformationfile_name.csv', names=['t','z'])

ib=IceBlock(1000, 1, dt=1, yearstorun=2, thermalfreq=10, crevspacing=30, usurf=200, Tprofile=df, sigmaT0=120e3, creeptable=creepdf, includecreep=True, Qinannual=5000, shear_modulus=0.1e9 ) ```

Important

This model is currently under development and is not ready for public use. Module is currently unstable and we can not guarantee the validity of results or functionality until version 1 release.

Model Overview

iceblock.py - main container user interfaces with to run model, spin up domain, and evolve through time.
temperature_field.py - Thermal model for iceblock, manages and calculates changing ice temperatures, crevasse refreezing.
crevassefield.py - Main container managing crevasse field geometry and crevasse instances for each crevasse in domain.
crevasse.py - Crevasse object implementing crevasse evolution and fracture mechanics to evolve crevasses through time.
fracture.py - Individual functions for linear elastic fracture mechanics. Called by Crevasse. Stand alone use.
physical_constants.py - Utilities, called by other files.

Model Parameters

Note: This content will be moved to the documentation and removed from the README.md.

Model parameters to navigate the equations used in crevasse_propagation within relevant literature (e.g., Poinar et al., 2017; Van der Veen 2007; Weertman 1964, 1983, 1996).

| parameter | | module | units | | ------------------------- | ------------- | -------------- | ----- | | Ice thickness | H | ice_thickness| m | | Crevase spacing | R | crev_spacing | m | | Water depth in crevasse | w | water_depth | m | | Longitudinal stress | $\sigma {y}$ | sigmaT0 | kPa | | | Shear modulus | $\mu$ | `shearmodulus,mu| 0.07-3.9 GPa | | Water flux | Q |Qin| m $^{2}$ per timestep | | Water flux initialization | |Qinannual` | m $^{2}$ a $^{-1}$ | | Fracture toughness of ice | $K{IC}$ | fracture_toughness | Pa m $^{0.5}$ |

Comparison with notation used in the literature

Comparison between Weertman (1964, 1983, 1996), van der veen 2007, and Poinar 2017.

| parameter | 1964 | 1983 | 1996 |van der veen| poinar | | ------------------------------ | :------: | :----: | :-------: | :---------:| :----: | | ice thickness | | | | H | H | | variable depth | | | y | b | z | | crevasse depth | | L | L | d | d | | depth to water surface | | | - $yo$ | a | w | | height of water column | | | | d-a | | | average tensile stress | | T |$\sigma _A$|$R{xx}$|$\sigma$| | tensile stress $^1$ |$\tau (x)$|$\sigma {xx}(y)$|$\sigma _T$|$\sigma{xx}$|$\sigma'y$| | compressive hydrostatic stress | | |$\sigmaC$ | $L$ | | | shear modulus | | $\mu$ | G | |$\mu$ | | constant | $\alpha$ | |$\alpha i$| | | | stress intensity factor | | | $K$ | | | | K at crack tip | | | $KI$ | | | | critical K for ice | | | $K{gc}$ | | KIC| | net Burgers vector | | | $bT$ | | | | crevasse opening displacement | | | $D(y)$ | |e(d,z)| | crevasse width | | | | |W(z)|

$^1$ deviatoric stress in the crevasse opening direction (first principal stress)

Owner

  • Name: Jessica Mejia
  • Login: jzmejia
  • Kind: user
  • Location: Buffalo, NY
  • Company: University at Buffalo

Postdoctoral researcher studying glacial hydrology and ice dynamics. Concentration in data processing and analysis with some light modeling.

Citation (CITATION.rst)

Citing CrevProp
--------------

There is not a citation yet specifically for this Python version of the model, but there is a paper for the original work done in MatLab. If you use this code, please help our scientific visibility by citing this work. 


	Poinar, K., Joughin, I., Lilien, D., Brucker, L., Kehrl, L., & Nowicki, S. (2017). Drainage of southeast Greenland firn aquifer water through crevasses to the bed. Frontiers in Earth Science, 5. https://doi.org/10.3389/feart.2017.00005


BibTex:  

.. code::

	@article{poinar2017
		title = {Drainage of southeast Greenland firn aquifer water through crevasses to the bed},
		author = {Poinar, Kristin and Joughin, Ian and Lilien, David and Brucker, Ludovic and Kehrl, Laura and Nowicki, Sophie},
		doi = {10.3389/feart.2017.00005},
		journal = {Frontiers in Earth Science},
		month = {feb},
		volume = {5},
		year = {2017}
	}

GitHub Events

Total
Last Year

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 148
  • Total Committers: 4
  • Avg Commits per committer: 37.0
  • Development Distribution Score (DDS): 0.088
Past Year
  • Commits: 60
  • Committers: 1
  • Avg Commits per committer: 60.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jessica Mejia j****0@g****m 135
Jessica Mejia j****s@i****m 6
Jessica Mejia j****0@g****m 6
Jessica Mejia j****a@m****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 11
  • Total pull requests: 95
  • Average time to close issues: 5 months
  • Average time to close pull requests: 1 minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.36
  • Average comments per pull request: 0.06
  • Merged pull requests: 94
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 45
  • Average time to close issues: 1 minute
  • Average time to close pull requests: 1 minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.04
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jzmejia (11)
Pull Request Authors
  • jzmejia (97)
Top Labels
Issue Labels
bug (2) functionality (1) enhancement (1)
Pull Request Labels
fix (3) functionality (2) enhancement (1) documentation (1) bug (1)

Dependencies

requirements.txt pypi
  • numpy ==1.21.2
  • numpydoc ==1.4.0
  • pandas ==1.3.3
  • scipy ==1.7.1
  • sphinx ==5.0.2
  • sphinx-material ==0.0.35
setup.py pypi
  • numpy *
  • pandas *
  • scipy *
docs/requirements.txt pypi
  • numpy ==1.21.2
  • numpydoc ==1.4.0
  • pandas ==1.3.3
  • scipy ==1.7.1
  • sphinx ==5.0.2
  • sphinx-material ==0.0.35
environment.yaml conda
  • numpydoc 1.4.0
  • sphink-material 0.0.35
  • sphinx 5.0.2