easymore

EASYMORE; EArth SYstem MOdeling REmapper

https://github.com/shervangharari/easymore

Science Score: 49.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 16 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary

Keywords

hydrology netcdf precipitation remapping shapefile temprature
Last synced: 6 months ago · JSON representation

Repository

EASYMORE; EArth SYstem MOdeling REmapper

Basic Info
  • Host: GitHub
  • Owner: ShervanGharari
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 387 MB
Statistics
  • Stars: 26
  • Watchers: 3
  • Forks: 25
  • Open Issues: 12
  • Releases: 6
Topics
hydrology netcdf precipitation remapping shapefile temprature
Created about 5 years ago · Last pushed 9 months ago
Metadata Files
Readme Contributing License Citation

README.md

DOI

EASYMORE; EArth SYstem MOdeling REmapper:

This package allows you to extract and aggregate the relevant values from a cfconventions compliant netcdf files given shapefiles.

EASYMORE is a collection of functions that allows extraction of the data from a NetCDF file for a given shapefile such as a basin, catchment, points or lines. It can map gridded data or model output to any given shapefile and provide area average for a target variable.

EASYMORE is very efficient as it uses pandas groupby functionality. Remapping of the entire north American domain from ERA5 with resolution of 0.25 degree to 500,000 subbasins of MERIT-Hydro watershed for 7 variables in 1.2 seconds for one time step (the time varying from device to device and depending on the source netCDF files sizes and their temporal aggregation).

EASYMORE also allows parallel computing across many netCDF files as well as command line interface to easily interact with its nc_remapper() functionallity.

The code can be used for the following purposes:

  1. Remapping the relevant forcing variables, such as precipitation or temperature and other variables for the effortless model set up. This transfer can be from Thiessen polygon or gridded data, for example, to computational units, hydrological model for example.
  2. Remapping the output of a hydrological or land surface model to force another model, such as providing the gridded model output in sub-basin for routing.
  3. Extraction of single or multiple points from the gridded or irregular data for comparison with gauges data, for example.
  4. Interpolation to caorser or finer resolutions with full controllability in creating the interpolation rules.

How to install:

** ATTENTION:** We highly recommend before using EASYMORE, the virtual environment is set up properly, and then the examples from the GitHub repository are tested to evaluate the authenticity of the results with what is generated by the EASYMORE development team. Examples and more detailed information on installation is provided in the env folder.

From PyPI:

pip install easymore

From local repo:

clone the code on your perosnal computer or home on HPC by

git clone https://github.com/ShervanGharari/EASYMORE.git cd EASYMORE pip install .

Flexibilities:

  1. EASYMORE allows for commbination of the remapping of NetCDF on local computer or remote high performance computer. For example, the the GIS steps of creating remapping file can be done locally on a sample file that contains few time step of the data (but all the domain). EASYMORE can then be directed to remapping file on the HPC and will skip all the needed GIS steps and directly start remapping process of bulk of the data.

  2. EASYMORE allows for parallel remapping of many NetCDF files on local computer or HPC.

  3. Commnad line interface to easily call EASYMORE nc_remapper functionality while populating the varibales directly or from a saved config file.

Examples:

  1. Illustrative example.
  2. Remap variables from a regular lat/lon gridded data or model output to irregular shapes.
  3. Remap variables from a regular lat/lon gridded data or model output to irregular shapes with missing values and non-overlapping extent.
  4. Remap variables from a rotate lat/lon gridded data or model output to irregular shapes.
  5. Remap variables from an irregular shapefile data from Thiessen polygons of station data to irregular shapes.
  6. Remap variables from irregular shapefile data, such as administrative boundaries for example, to irregular shapes.
  7. Extract variables for points (such as locations of stations, cities, etc) from the grided or irregular shapefiles; temperature example
  8. Parallel remapping of various NetCDF files from source to remapped on local computer or HPC with SLURM scheduler

Illustrative visualization:

The two figures show remapping of the gridded temperature from ERA5 data set to subbasin of South Saskatchewan River at Medicine Hat.

Original gridded temperature field:

Remapped temperature field to the subbasins:

How to cite:

@article{gharari_easymore_2023, title = {{EASYMORE}: {A} {Python} package to streamline the remapping of variables for {Earth} {System} models}, volume = {24}, issn = {2352-7110}, shorttitle = {{EASYMORE}}, url = {https://www.sciencedirect.com/science/article/pii/S2352711023002431}, doi = {10.1016/j.softx.2023.101547}, urldate = {2023-11-07}, journal = {SoftwareX}, author = {Gharari, Shervan and Keshavarz, Kasra and Knoben, Wouter J. M. and Tang, Gouqiang and Clark, Martyn P.}, month = dec, year = {2023}, keywords = {EASYMORE, Earth System modeling, NetCDF, Remapping, Shapefile}, pages = {101547}, }

Link to the above publication.

Publication that have used EASYMORE so far:

Tang, G., Clark, M. P., Knoben, W. J. M., Liu, H., Gharari, S., Arnal, L., Beck, H. E., Wood, A. W., Newman, A. J., Papalexiou, S. M. The impact of meteorological forcing uncertainty on hydrological modeling: A global analysis of cryosphere basins. Water Resources Research, 59, e2022WR033767. https://doi.org/10.1029/2022WR033767, 2023.

Knoben, W. J. M., Clark, M. P., Bales, J., Bennett, A., Gharari, S., Marsh, C. B., Nijssen, B., Pietroniro, A., Spiteri, R. J., Tarboton, D. G., Wood, A. W.: Community Workflows to Advance Reproducibility in Hydrologic Modeling: Separating Model-Agnostic and Model-Specific Configuration Steps in Applications of Large-Domain Hydrologic Models, Water Resources Research, 58, e2021WR031753. https://doi.org/10.1029/2021WR031753, 2022.

Gharari, S., Vanderkelen, I., Tefs, A., Mizukami, N., Stadnyk, T. A., Lawrence, D., Clark, M. P.: A Flexible Multi-Scale Framework to Simulate Lakes and Reservoirs in Earth System Models, Earth and Space Science Open Archive, 24, https://doi.org/10.1002/essoar.10510902.1, 2022.

Li, Z., Gao, S., Chen, M., Gourley, J., Mizukami, N., and Hong, Y.: CREST-VEC: a framework towards more accurate and realistic flood simulation across scales, Geosci. Model Dev., 15, 61816196, https://doi.org/10.5194/gmd-15-6181-2022, 2022.

Sheikholeslami, R., Gharari, S., Papalexiou, S. M., Clark, M. P.: VISCOUS: A Variance-Based Sensitivity Analysis Using Copulas for Efficient Identification of Dominant Hydrological Processes, Water Resources Research, https://doi.org/10.1029/2020WR028435, 2021.

Gharari, S., Clark, M. P., Mizukami, N., Knoben, W. J. M., Wong, J. S., and Pietroniro, A.: Flexible vector-based spatial configurations in land models, Hydrol. Earth Syst. Sci., 24, 59535971, https://doi.org/10.5194/hess-24-5953-2020, 2020.

Owner

  • Name: Shervan Gharari
  • Login: ShervanGharari
  • Kind: user
  • Location: Saskatoon

GitHub Events

Total
  • Issues event: 4
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 19
  • Push event: 11
  • Pull request review event: 1
  • Pull request event: 12
  • Fork event: 4
  • Create event: 2
Last Year
  • Issues event: 4
  • Watch event: 2
  • Delete event: 1
  • Issue comment event: 19
  • Push event: 11
  • Pull request review event: 1
  • Pull request event: 12
  • Fork event: 4
  • Create event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 351
  • Total Committers: 6
  • Avg Commits per committer: 58.5
  • Development Distribution Score (DDS): 0.319
Past Year
  • Commits: 166
  • Committers: 3
  • Avg Commits per committer: 55.333
  • Development Distribution Score (DDS): 0.307
Top Committers
Name Email Commits
ShervanGharari s****i@g****m 239
Shervan Gharari 2****i 69
Kasra Farmer k****z@u****a 30
wknoben w****n@u****a 10
tgq14 1****1@1****m 2
ShervanGharari s****6@g****t 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 39
  • Total pull requests: 68
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 10
  • Total pull request authors: 7
  • Average comments per issue: 2.62
  • Average comments per pull request: 0.24
  • Merged pull requests: 55
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 12
  • Average time to close issues: 4 days
  • Average time to close pull requests: about 2 hours
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 6.5
  • Average comments per pull request: 0.17
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kasra-keshavarz (15)
  • wknoben (9)
  • ShervanGharari (7)
  • mee067 (1)
  • KevinShook (1)
  • DaveCasson (1)
  • chrimerss (1)
  • zktesemma (1)
  • MIsmlAhmed (1)
  • AlexGiberson (1)
Pull Request Authors
  • ShervanGharari (46)
  • kasra-keshavarz (14)
  • wknoben (8)
  • DaveCasson (2)
  • guoqiang-tang (1)
  • chrimerss (1)
  • mankoff (1)
Top Labels
Issue Labels
enhancement (9) bug (3) documentation (2) question (1) good first issue (1)
Pull Request Labels
enhancement (6) bug (4) documentation (2)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 80 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 7
  • Total maintainers: 1
pypi.org: easymore

geo-spatial processing of the input data for environmental and hydrological modeling

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 80 Last month
Rankings
Forks count: 8.5%
Dependent packages count: 10.1%
Stargazers count: 13.7%
Average: 17.3%
Dependent repos count: 21.5%
Downloads: 32.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • cftime *
  • click *
  • datetime *
  • geopandas *
  • geovoronoi *
  • json5 *
  • matplotlib *
  • netCDF4 *
  • numpy *
  • pandas *
  • rtree *
  • shapely *
  • sphinx *
  • sphinx_rtd_theme *
  • xarray *
requirements.txt pypi
setup.py pypi
  • cftime *
  • click *
  • datetime *
  • geopandas *
  • geovoronoi *
  • json5 *
  • matplotlib *
  • netCDF4 *
  • numpy *
  • pandas *
  • rtree *
  • shapely *
  • xarray *