nsidc.iceflow.itrf package¶
- nsidc.iceflow.itrf.check_itrf(itrf_str)¶
Check if the given string is a valid ITRF.
Based on a regex match. ITRF strings are conventionally “ITRF” followed by the 2-digit or 4-digit year (e.g., “ITRF93” or “ITRF2008”).
ITRFs prior to the 2000s conventionally used a 2-digit year (e.g., “ITRF88”).
ITRF2020 is recognized as “ITRF20”.
Submodules¶
nsidc.iceflow.itrf.converter module¶
- nsidc.iceflow.itrf.converter.transform_itrf(data, target_itrf, target_epoch=None, plate=None, pmm_use_orb=True)¶
Transform the data’s latitude/longitude/elevation variables from the source ITRF to the target ITRF.
If a target_epoch is given, coordinate propagation is performed via a plate motion model (PMM) defined for the target_itrf. The target epoch determines the number of years into the future/past the observed points should be propagated. For example, if a point’s observation date (t_observed) is 1993.0 (1993-01-01T00:00:00) and the target_epoch is 2011.0 (2011-01-01T00:00:00), the point will be propagated forward 18 years. Note that not all ITRFs have PMMs defined for them. The PMM used is defined for the target_epoch, so it is likely to be most accurate for points observed near the ITRF’s defined epoch.
If pmm_use_orb is True, then this function will use Origin Rate Bias (ORB) parameters for the selected PMM, if available (e.g., ITRF2020 and ITRF2008 init files have ORB parameters defined; ITRF2014 has no ORB parameter sets), for the horizontal component of each point (longitude and latitude). The vertical component (elevation) will be transformed without ORB parameters applied.
All ITRF and PMM transformations are dependent on the user’s proj installation’s ITRF init files (see https://proj.org/en/9.3/resource_files.html#init-files). For example, ITRF2014 parameters are defined here: https://github.com/OSGeo/PROJ/blob/8b65d5b14e2a8fbb8198335019488a2b2968df5c/data/ITRF2014.
Note that ILVIS2 data contain more than one set of latitude/longitude/elevation variables (e.g., HLAT/HLON/ZH, CLAT/CLON/ZC). This function only transforms the primary latitude/longitude/elevation fields in the provided dataframe. Use the ilvis2_coordinate_set kwarg on read_iceflow_datafile(s) to select an different primary set of latitude/longitude/elevation fields. Alternatively, manually set the fields: ``` # TLAT/TLON/TZ are only available in ILVIS2v2 data: sel_ilvis2v2 = data.dataset == “ILVIS2v2” data.loc[sel_ilvis2v2, [“latitude”, “longitude”, “elevation”]] = data.loc[sel_ilvis2v2, [“TLAT”, “TLON”, “ZT”]]
- Parameters:
- Return type:
DataFrame[CommonDataColumnsSchema]
nsidc.iceflow.itrf.plate_boundaries module¶
- class nsidc.iceflow.itrf.plate_boundaries.Plate(polygon, false_easting, name)¶
Bases:
tuple- false_easting¶
Alias for field number 1
- name¶
Alias for field number 2
- polygon¶
Alias for field number 0
- nsidc.iceflow.itrf.plate_boundaries.plate_name(point)¶
Determine the Tectonic plate name based on the lon/lat of the given point. The point’s longitude (x) should be in the range [-180, 180], and latitude (y) in the range [-90, 90].
- nsidc.iceflow.itrf.plate_boundaries.shift_lon(x, y)¶