-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0c81441
commit 7413cd4
Showing
1 changed file
with
18 additions
and
72 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: | ||
|
@@ -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); | ||
``` |
7413cd4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JuliaRegistrator register
Release Notes:
7413cd4
There was a problem hiding this comment.
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: