swirlspy.obs package
Weather observations decoder.
- class swirlspy.obs.Lightning(filenames, proj, start_time, end_time, minutize=True, tz='utc')
Bases:
object
A class for storing lightning data. This class is initialised from LLIS text file(s).
- Parameters
filenames (str of list of str) – Name or path of file(s) to read.
proj (str) – Name of projection system.
start_time (pandas.Timestamp) – Start time of lightning observation period.
end_time (pandas.Timestamp) – End time of lightning observation period.
tz (str) – Time zone of the file. Defaults to ‘utc’.
minutize (bool) – If True, timestamps are rounded down to the nearest minute. Defaults to True.
- start_time
Start time of lightning observation period.
- Type
pandas.Timestamp
- end_time
End time of lightning observation period.
- Type
pandas.Timestamp
- time
Time of lightning strikes.
- Type
pandas.Series
- ly
Contains the y coodinates of lightning strikes.
- Type
numpy.1darray
- lx
Contains the x coodinates of lightning strikes.
- Type
numpy.1darray
- cloud_indicator
Contains the type of lightning strike. 0 for cloud-to-ground lightning, 1 for cloud-to-cloud lightning.
- Type
numpy.1darray
- data_length
The length of data.
- Type
int
- obs_type
Type of weather observation or parameter.
- Type
str
- proj
Projection system of y and x coordinates.
- Type
str
- copy()
Returns a copy of lightning object.
- reproject(inProj, outProj, projname)
Converts location of lighting strikes from one projection to another.
- Parameters
inProj (pyproj.Proj) – The projection of the source grid.
outProj (pyproj.Proj) – The projection of the target grid.
projname (str) – Name of the projection of the target grid.
- Returns
ltg_object – Copy of object with location of lightning strikes in the target coordinate system.
- Return type
- class swirlspy.obs.Rain(filename, proj, duration=Timedelta('0 days 01:00:00'), NAN=3276.7)
Bases:
object
A class for storing raingauge data. Rain object can represent just one raingauge, or a network of raingauges, depending on how many raingauges are inputted. Rain objects can be initialised from text files containing rainfall data.
Format of the text files should adhere to the following:
First line: Timestring (%Y%m%d%H%M) indicating the end timeof rainfall accumulation over a period of time.Starting from second line, each line has four columns:First column: Name of station.Second column: Latitude (or y coordinate) of raingauges.Third column: Longitude (or x coordinate) of raingauges.Fourth column: Accumulated rainfall value.- Parameters
filename (str or list of strings) – Name(s) of text files to read for data to create a Rain object.
proj (str) – Name of projection system.
duration (pandas.Timedelta) – Accumulation period of each file. Equivalent to the time interval between each file. Defaults to 60 minutes.
NAN (list of floats) – Data values to be ignored when reading the text file. Defaults to 3276.7.
- start_time
Starting time when raingauge(s) start accumulating rainfall.
- Type
pandas.Timestamp
- end_time
Ending time when raingauge(s) stop accumulating rainfall.
- Type
pandas.Timestamp
- gauge_x
x-coordinate of raingauge(s) in given projection.
- Type
numpy.1darray
- gauge_y
y_coordinate of raingauge(s) in given projection.
- Type
numpy.1darray
- rainfall
Accumulated rainfall value of each raingauge(s), between start_time and end_time.
- Type
numpy.1darray
- station
Station IDs of raingauge(s).
- Type
numpy.1darray
- rg_number
Number of raingauge(s).
- Type
int
- obs_type
Type of weather observation or parameter.
- Type
str
- proj
Projection system of y and x coordinates.
- Type
str
- data
An array of tuple(s), where each tuple contains (y_coord, x_coord, rainfall, station).
- Type
numpy.1darray
- copy()
Returns a copy of Rain object.
- remove_bad_stations(bad_stations)
Remove stations that are noisy.
- bad_stations:
Stations which are to be filtered out.
- Returns
rg_object – Return a copy of the Rain object with noisy raingauges filtered out.
- Return type
- reproject(inProj, outProj, projname)
Converts location of raingauge from one projection to another.
- Parameters
inProj (pyproj.Proj) – The projection of the source grid.
outProj (pyproj.Proj) – The projection of the target grid.
projname (str) – Name of the projection of the target grid.
- Returns
rg_object – Copy of object with location of raingauges in the target coordinate system.
- Return type
Submodules
swirlspy.obs.lightning module
- class swirlspy.obs.lightning.Lightning(filenames, proj, start_time, end_time, minutize=True, tz='utc')
Bases:
object
A class for storing lightning data. This class is initialised from LLIS text file(s).
- Parameters
filenames (str of list of str) – Name or path of file(s) to read.
proj (str) – Name of projection system.
start_time (pandas.Timestamp) – Start time of lightning observation period.
end_time (pandas.Timestamp) – End time of lightning observation period.
tz (str) – Time zone of the file. Defaults to ‘utc’.
minutize (bool) – If True, timestamps are rounded down to the nearest minute. Defaults to True.
- start_time
Start time of lightning observation period.
- Type
pandas.Timestamp
- end_time
End time of lightning observation period.
- Type
pandas.Timestamp
- time
Time of lightning strikes.
- Type
pandas.Series
- ly
Contains the y coodinates of lightning strikes.
- Type
numpy.1darray
- lx
Contains the x coodinates of lightning strikes.
- Type
numpy.1darray
- cloud_indicator
Contains the type of lightning strike. 0 for cloud-to-ground lightning, 1 for cloud-to-cloud lightning.
- Type
numpy.1darray
- data_length
The length of data.
- Type
int
- obs_type
Type of weather observation or parameter.
- Type
str
- proj
Projection system of y and x coordinates.
- Type
str
- copy()
Returns a copy of lightning object.
- reproject(inProj, outProj, projname)
Converts location of lighting strikes from one projection to another.
- Parameters
inProj (pyproj.Proj) – The projection of the source grid.
outProj (pyproj.Proj) – The projection of the target grid.
projname (str) – Name of the projection of the target grid.
- Returns
ltg_object – Copy of object with location of lightning strikes in the target coordinate system.
- Return type
swirlspy.obs.rain module
- class swirlspy.obs.rain.Rain(filename, proj, duration=Timedelta('0 days 01:00:00'), NAN=3276.7)
Bases:
object
A class for storing raingauge data. Rain object can represent just one raingauge, or a network of raingauges, depending on how many raingauges are inputted. Rain objects can be initialised from text files containing rainfall data.
Format of the text files should adhere to the following:
First line: Timestring (%Y%m%d%H%M) indicating the end timeof rainfall accumulation over a period of time.Starting from second line, each line has four columns:First column: Name of station.Second column: Latitude (or y coordinate) of raingauges.Third column: Longitude (or x coordinate) of raingauges.Fourth column: Accumulated rainfall value.- Parameters
filename (str or list of strings) – Name(s) of text files to read for data to create a Rain object.
proj (str) – Name of projection system.
duration (pandas.Timedelta) – Accumulation period of each file. Equivalent to the time interval between each file. Defaults to 60 minutes.
NAN (list of floats) – Data values to be ignored when reading the text file. Defaults to 3276.7.
- start_time
Starting time when raingauge(s) start accumulating rainfall.
- Type
pandas.Timestamp
- end_time
Ending time when raingauge(s) stop accumulating rainfall.
- Type
pandas.Timestamp
- gauge_x
x-coordinate of raingauge(s) in given projection.
- Type
numpy.1darray
- gauge_y
y_coordinate of raingauge(s) in given projection.
- Type
numpy.1darray
- rainfall
Accumulated rainfall value of each raingauge(s), between start_time and end_time.
- Type
numpy.1darray
- station
Station IDs of raingauge(s).
- Type
numpy.1darray
- rg_number
Number of raingauge(s).
- Type
int
- obs_type
Type of weather observation or parameter.
- Type
str
- proj
Projection system of y and x coordinates.
- Type
str
- data
An array of tuple(s), where each tuple contains (y_coord, x_coord, rainfall, station).
- Type
numpy.1darray
- copy()
Returns a copy of Rain object.
- remove_bad_stations(bad_stations)
Remove stations that are noisy.
- bad_stations:
Stations which are to be filtered out.
- Returns
rg_object – Return a copy of the Rain object with noisy raingauges filtered out.
- Return type
- reproject(inProj, outProj, projname)
Converts location of raingauge from one projection to another.
- Parameters
inProj (pyproj.Proj) – The projection of the source grid.
outProj (pyproj.Proj) – The projection of the target grid.
projname (str) – Name of the projection of the target grid.
- Returns
rg_object – Copy of object with location of raingauges in the target coordinate system.
- Return type