Skip to content

mhacarthur/clima-anom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub last commit GitHub commit activity GitHub contributors PyPI GitHub pull requests GitHub repo size GitHub top language

Climatology and Anomalies in Python

Overview

This code provides experimental and simples tools for differents operations on climate data, mainly obtaining climatologies and anomalies values, in addition to others operations such as data extraction from continent, ocean or a shapefile.

Pip install

pip install clima_anom

Manual installation

clone clima_anom and install in exists or new conda env.

  1. Clone repo and install
git clone https://github.com/mhacarthur/clima_anom.git
cd clima_anom
pip install .

Dependencies

  • Python >= 3.5
  • cartopy >= 0.18.0
  • netcdf4 >= 1.5.7
  • pyshp >= 2.1.3
  • OS: Linux
  1. How to install dependencies
# cartopy
conda install -c conda-forge cartopy
# netcdf4
conda install netcdf4
# pyshp
pip install pyshp

Data

The data use for examples is in directory data. For complete data see:

TRMM Precipitation L3 daily 0.25x0.25 V7

Example

Read data

import os
import clima_anom as ca

data_dir = '..'+os.sep+'data'+os.sep+'3B42_199901_201212.nc'
data = ca.read_netcdf(data_dir,2)

lat = data['lat']
lon = data['lon']
pre = data['prec']

pre_dictionary = ca.data_dictionary(pre)

Colorbar with middle white

import clima_anom as ca
import matplotlib.pyplot as plt

cmap = plt.cm.Spectral_r
cmap_midle_white = ca.colorbar_middle_white(cmap,'middle')
colorbar1
colorbar2

Remove ocean or continent

import numpy as np
import clima_anom as ca

data_dir = '..'+os.sep+'data'+os.sep+'3B42_199901_201212_climatology.nc'
data = ca.read_netcdf(data_dir,2)
lat = data['lat']
lon = data['lon']
pre = data['pre']

pre_continent = ca.remove_continent_ocean(pre,lat,lon,'continent')
pre_ocen = ca.remove_continent_ocean(pre,lat,lon,'ocean')
Wind remove mask

Extract data using shapefile

import clima_anom as ca
import cartopy.io.shapereader as shpreader

file_shape = '..'+os.sep+'shapefile'+os.sep+''+os.sep+'Amazonas.shp'
amazonas = list(shpreader.Reader(file_shape).geometries())

data_dir = '..'+os.sep+'data'+os.sep+'3B42_199901_201212_climatology.nc'
data = ca.read_netcdf(data_dir,2)
lat = data['lat']
lon = data['lon']
pre = data['pre']

pre_amazonas = ca.extract_shapefile('..'+os.sep+'shapefile'+os.sep+'Amazonas.shp',pre,lat,lon,0)
Shapefile

About

Create climatology and obtain a correlation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published