In PollyXT-Pipelines, a Location
represents a station where PollyXT is, or was, hosted. It
contains the station’s coordinates and the related IDs for SCC. Specifically, for each station we know:
Caution
All variables are required.
Name: Station Name
Profile name (profile_name
): The name used by WRF for this location
SCC Station ID (scc_code
): The station ID registered with SCC, it’s used in measurement
IDs (e.g. aky
).
Latitude/Longitude (lat
, code:lon
): The station coordinates
Altitude (altitude_asl
): The station’s altitude
System ID (daytime_configuration
, nighttime_configuration
): The SCC Lidar configuration ID for
daytime and nightime
Channel ID (Array, channel_id
): Value for the channel_ID
SCC variable.
Background (Array, background_low
, background_high
): Values for the
Background_Low
and Background_High
SCC variables.
LR Input (Array, lr_input
): Value for the LR_Input
SCC variable.
Temperature (temperature
): Value for the Temperature_at_Lidar_Station
SCC variable
Pressure (pressure
): Value for the Pressure_at_Lidar_Station
SCC variable
Zero state for depol_cal_angle (depol_calibration_zero_state
): Value that is used to signify a normal measurement in the
depol_cal_angle
PollyXT variable. This is used to distinguish between normal measurements and
measurements that are used to calibrate the depolarization angle. If depol_cal_angle
is not
equal to zero_state_depol_cal_angle
, the corresponding time period is assumed
to be a calibration period.
For 355nm: total_channel_355_nm_idx
and cross_channel_355_nm_idx
.
For 532nm: total_channel_532_nm_idx
and cross_channel_532_nm_idx
.
For 1064nm: total_channel_1064_nm_idx
and cross_channel_1064_nm_idx
.
calibration_355nm_total_channel_ids
and calibration_355nm_cross_channel_ids
(same for 532nm and/or 1064nm) for each wavelength:plus_45_transmitted
plus_45_reflected
minus_45_transmitted
minus_45_reflected
Sounding provider (sounding_provider
): Which provider to use for radiosonde files.
Sunrise time (sunrise_time
): Adjustments for the sunrise time. Can either be a fixed time (HH:MM
format) or an offset from the astronomical (calculated) sunrise in either +MM (e.g., +17 for +17 minutes) or -MM.
Sunset time (sunset_time
): Adjustments for the sunset time. Same format as sunrise time.
For the arrays, you can input values separated by commas (see example below). Currently, the application has a built-in registry containing information about two stations, Antikythera and Finokalia.
For depolarization channels, any channel (e.g., 355nm) that is missing one of the required fields (e.g., total_channel_355_nm_idx
) will be ignored. That means, any channel without a complete description will be skipped during the creation of depolarization calibration files. If you find one channel is missing from your generated files, make sure all required variables are present here.
For the variable channel_id
and the depolarization total/cross channels, you can either specify the SCC integer channel ID or the channel name. However, only one way of specifying channels can be used (all integers or all strings). If strings are used, the resulting netCDF files will use the channel_string_IDs
variable instead of channel_ID
.
To print all locations the application knows about, you can use the locations-show
command. Adding the
--details
option will print all variables for each location, instead of just the names.
pollyxt_pipelines locations-show
pollyxt_pipelines locations-show --detail
A config file is used to add new locations to the application. It is stored in different locations, depending on the operating system you are on:
Linux: /etc/pollyxt_pipelines/locations.ini
(system-wide) and ~/.config/pollyxt_pipelines/locations.ini
(user)
Windows: %APPDATA%/PollyXT_Pipelines/pollyxt_pipelines.ini
To print the path for your system, use the locations-path
command:
pollyxt_pipelines locations-path
pollyxt_pipelines locations-path --user # Print only the user's path
The file is ini-formatted, where each section is a station name. For example:
[Antikythera]
scc_code = aky
lat = 23.3100
lon = 35.8600
altitude_asl = 0.1
daytime_configuration = 437
nighttime_configuration = 438
channel_id = 493, 500, 497, 499, 494, 496, 498, 495, 501, 941, 940, 502
background_low = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
background_high = 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249
lr_input = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
temperature = 20
pressure = 1008
depol_calibration_zero_state = 0
total_channel_355_nm_idx = 0
cross_channel_355_nm_idx = 1
total_channel_532_nm_idx = 4
cross_channel_532_nm_idx = 5
calibration_355nm_total_channel_ids = 1266, 1268
calibration_355nm_cross_channel_ids = 1236, 1267
calibration_532nm_total_channel_ids = 1270, 1272
calibration_532nm_cross_channel_ids = 1269, 1271
profile_name = ANTIKYTHERA
sounding_provider = noa_wrf
You can add more than one location in the same file. Verify that it worked by running pollyxt_pipelines locations-show --detail
when you are done.
Locations are represented using NamedTuple
objects, you can add more in
pollyxt_pipelines.locations
. All known locations should be added in
the LOCATIONS
tuple. Some helper functions are also defined
to search stations by their name/IDs.
Contains information about locations
Each location (i.e. SCC station) is defined in an .ini file. For some stations, the .ini files are included with the software but custom locations can be defined.
List of all known locations
Bases: NamedTuple
Represents a physical location of PollyXT installation.
float
¶Altitude of station
List
[int
]¶Value for the Background_High variable
List
[int
]¶Value for the Background_Low variable
Union
[List
[int
], List
[str
]]¶Calibration channel SCC IDs for 1064nm. Comma separated list. First value must be the +45° channel, second value must be the -45° channel.
Union
[List
[int
], List
[str
]]¶Calibration channel SCC IDs for 1064nm. Comma separated list. First value must be the +45° channel, second value must be the -45° channel.
Union
[List
[int
], List
[str
]]¶Calibration channel SCC IDs for 355nm. Comma separated list. First value must be the +45° channel, second value must be the -45° channel.
Union
[List
[int
], List
[str
]]¶Calibration channel SCC IDs for 355nm. Comma separated list. First value must be the +45° channel, second value must be the -45° channel.
Union
[List
[int
], List
[str
]]¶Calibration channel SCC IDs for 532nm. Comma separated list. First value must be the +45° channel, second value must be the -45° channel.
Union
[List
[int
], List
[str
]]¶Calibration channel SCC IDs for 532nm. Comma separated list. First value must be the +45° channel, second value must be the -45° channel.
Optional
[int
]¶SCC Lidar Configuration ID - Calibration (532 nm)
Optional
[int
]¶SCC Lidar Configuration ID - Calibration (355 nm)
Optional
[int
]¶SCC Lidar Configuration ID - Calibration (532 nm)
Union
[List
[int
], List
[str
]]¶Mapping of PollyXT Channels to SCC Channels Comma-separated list. The order of the list is the order of the channels in the PollyXT netCDF file.
Optional
[int
]¶Index in Polly netCDF file for the cross channel (1064nm)
Optional
[int
]¶Index in Polly netCDF file for the cross channel (355nm)
Optional
[int
]¶Index in Polly netCDF file for the cross channel (532nm)
int
¶SCC Lidar Configuration ID - Daytime
int
¶Value of depol_cal_angle when there is no calibration taking place
Returns a dictionary of wavelengths to booleans, true if that corresponding wavelength has depolarization channels.
Dict
[Wavelength
, bool
]
float
¶Latitude of station
float
¶Longitude of station
List
[int
]¶Value for the lr_input variable
str
¶Location friendly name
int
¶SCC Lidar Configuration ID - Nightime
int
¶Pressure at the lidar station (Pressure_at_Lidar_Station variable)
str
¶How are the WRF profile names prefixed
str
¶SCC Station code
str
¶Which radiosonde provider to use
str
¶MM) or offset (minutes from calculated sunrise in +X or -X format, where X an integer)
Sunrise time (HH
str
¶MM) or offset (minutes from calculated sunrise in +X or -X format, where X an integer)
Sunrise time (HH
int
¶Temperature at the lidar station (Temperature_at_Lidar_Station variable)
Optional
[int
]¶Index in Polly netCDF file for the total channel (1064nm)
Optional
[int
]¶Index in Polly netCDF file for the total channel (355nm)
Optional
[int
]¶Index in Polly netCDF file for the total channel (532nm)
Returns a location by its SCC code or None if it doesn’t exist.
Optional
[Location
]
Create a Location from a ConfigParser Section (SectionProxy)