Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
natgeo-wong committed May 4, 2020
1 parent 0c81441 commit 7413cd4
Showing 1 changed file with 18 additions and 72 deletions.
90 changes: 18 additions & 72 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
# ClimateSatellite.jl
# **<div align="center">ClimateSatellite.jl</div>**

A Julia Package that downloads climate data from various satellite missions. You can add it via
```
] add ClimateSatellite
```
**Created By:** Nathanael Wong ([email protected])

**Developer To-Do for v1.0:**
* [ ] Comprehensive documentation and Jupyter notebook examples

### Contributors:
* Nathanael Zhixin Wong (Original Dev): [email protected]
## **Introduction**

`ClimateSatellite.jl` is a Julia package that aims to streamline the following processes:
* downloading of climate satellite mission data
* basic analysis (mean, maximum, minimum, standard deviation, etc.) of downloaded data
* extraction of data for a given **GeoRegion** (see `GeoRegions.jl` for more information)

## Overview
`ClimateSatellite.jl` contains scripts and functions to download satellite measurements and
observations of climate data. It can be configured to download data for specific regions
as defined in the `GeoRegions.jl` dependency.
`ClimateSatellite.jl` can be installed via
```
] add ClimateSatellite
```

Since my research work focuses mainly on precipitation and water vapour research, my efforts
will mostly be on satellite missions involving these variables (i.e. PMM (GPM/TRMM) and MIMIC-TPW2m). However, if you are interested in adding scripts for additional missions, feel free to submit a pull request.
## Supported Satellite Missions
Since my research work focuses mainly on precipitation and water vapour research, my efforts will mostly be on satellite missions involving these variables (i.e. PMM (GPM/TRMM) and MIMIC-TPW2m). However, if you are interested in adding scripts for additional missions, feel free to submit a pull request.

`ClimateSatellite.jl` currently supports the retrieval of data from the following satellites/
missions:
Expand All @@ -25,72 +28,15 @@ missions:
* Morphed Integrated Microwave Imagery at CIMSS (MIMIC)-TPW2m (MIMIC)

The retrieval of the following satellites/missions are in development:
* ~Tropical Rainfall Measuring Mission (TRMM)~
* Tropical Rainfall Measuring Mission (TRMM)
* Remote Sensing Systems TM (RSS)
* MODerate resolution Imaging Spectroradiometer (MODIS)

Note: Since GPM IMERG has essentially replaced TRMM 3B42, I am not planning on releasing a version that adds TRMM functionalities at this stage.


## Valid Satellites / Products
A list of satellite data sources and their products (because some have data for multiple
product types), can be found in the `satellites.txt` file, along with their properties,
units of measurement, etc. However, only the following combinations of Missions / Products
are currently valid in ClimateSatellite - all other options will throw an error.
A list of satellite data sources and their products (because some have data for multiple product types), can be found in the `satellites.txt` file, along with their properties, units of measurement, etc. However, only the following combinations of Missions / Products are currently valid in ClimateSatellite - all other options will throw an error.

| ID | Mission | Product |
| :---: | :---: | --- |
| gpmimerg | PMM | Global Precipitation Mission - IMERGv6 Final Research Version |
| gpmlate | PMM | Global Precipitation Mission - IMERGv6 Near Real-Time Late Run |
| gpmearly | PMM | Global Precipitation Mission - IMERGv6 Near Real-Time Early Run |
| mtpw2m | MIMIC | Total Precipitable Water v2m |


## Workflow

### Directories
By default, `ClimateSatellite.jl` saves all data into a `datadir` repository that is user-specified, or else it will otherwise default to
```
datadir="~/research/data/$(ID)"
```

### Regions
ClimateSatellite utlizes `GeoRegions.jl` to specify domains from which data is to be extracted. If the option is not specified, then `ClimateSatellite` will assume that the
user wishes to process **global** data (which may not be wise especially for GPM due to the
large file sizes involved and memory required).

### Downloads
ClimateSatellite aims to streamline the downloading process by ensuring that the frontend
functions for the user are standard regardless of mission or product type. For example, if
I wanted to download **global** GPM IMERG research data for January 2007, I would do it by
```
clisatdownload("gpmimerg",Date(2007,1),[email protected]);
```

If I wanted to specify that the data is to go into a specific path `ddir`, I would do
```
clisatdownload("gpmimerg",Date(2007,1),[email protected],path=ddir);
```

And if I wanted to specify that I wanted to keep only information within the `TRP` domain
as specified in `GeoRegions.jl `(Tropical Belt, [N,S,W,E] = [30,-30,0,360]), I would do
```
clisatdownload("gpmimerg",Date(2007,1),[email protected],regions=["TRP"],path=ddir);
```

And if I wanted to do all the above, except for MIMIC-TPW2m data, I would do:
```
clisatdownload("mtpw2m",Date(2007,1),[email protected]);
clisatdownload("mtpw2m",Date(2007,1),[email protected],path=ddir);
clisatdownload("mtpw2m",Date(2007,1),[email protected],regions=["TRP"],path=ddir);
```

### Extraction of Subdomains
However, sometimes you don't want to keep redownloading data (especially since due to file
size it can take a long time) and therefore sometimes you might want to extract data from
within a subdomain.

For example, in `GeoRegions.jl`, `SMT` (Sumatra, [N,S,W,E] = [6,-6,95,107]) is within the `TRP` domain. If you have already downloaded data for the `TRP` domain, you can therefore extraction data for the `SMT` region using:
```
clisatsubregion("gpmimerg",Date(2007,1),region="SMT",path=ddir);
```

2 comments on commit 7413cd4

@natgeo-wong
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JuliaRegistrator register

Release Notes:

  • Cleaned up repository in preparation for move to JuliaClimate organization
  • Updated README
  • Bump to v0.4

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Registration pull request created: JuliaRegistries/General/14121

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:

git tag -a v0.4.0 -m "<description of version>" 7413cd460ec1d59ee34a944a4261bf94dc1540f0
git push origin v0.4.0

Please sign in to comment.