Jason GNSS Beginner

RADIATE

2019-06-05
Jason Ding

VieVS(Vienna VLBI and Satellite Software),是由维也纳工业大学大地测量与地理信息系开发及维护的VLBI分析程序库,RADIATE是一款基于该程序库的独立软件。该软件使用Fortran90编写,在Linux平台运行,交互方式为命令行(终端)操作,其功能为通过ray-tracing重建大地测量中的对流层延迟,其计算基于数值天气模型(NWM)输出文件包含ZTD/ZHD/ZWD/AH/AW等若干对流层参数。

RADIATE使用GPLv3.0版权协议,允许用户修改、分配、私人用途、商业用途及专利使用,仅要求源码使用者同样继承GPLv3.0协议,不对使用结果做任何保证。

Modules

软件一共10个模块54个子程序,代码总行数10,000+,以下为各个模块的功能以及对应的子程序:

模块 功能 子程序 个数
1 程序启动,定义主设置并识别用户定义的设置 RADIATE_Fortran_start 1
2 主程序,协调和执行工作流 RayTrace_main_global 1
3 数据加载及预处理 import_station_data
create_session_index_and_epologs_single
create_session_index_and_epologs_dual
load_session_index
load_epologs
get_observing_stations
get_coord_observing_stations
7
4 气象数据的加载、处理和垂直插值 get_meteo_undulation_refr_glob
get_gribdata_gribex
get_gribdata_txt
get_global_undulation
profilewise_refrHD_ECMWFmin
gridwise_refrHD_ECMWFmin
standard_atm
gph2horth
calc_refr_ind_at_stations
9
5 射线追踪和延迟计算 get_RayTrace2D_pwl_global
get_RayTrace2D_ref_pwl_global
get_RayTrace2D_Thayer_global
R_earth_euler
R_earth_gaussian
determine_lat_lon
adapt_lat_lon_to_interval
get_ref_pwl_delay
get_ref_pwl_delay_zenith
9
6 延时的时间插值 combine_and_sort_rd
time_interpolation
lagrange_int
3
7 创建输出 create_radiate_global
get_unique_stations_with_coord
create_trp_global
ell2xyz
create_errorlog
5
8 辅助工具子程序 get_elapsed_time
upper
mjd2date
date2mjd
qsort
msort
meshgrid2D
test_start_values_and_global_coverage
mean_total2D
get_bilint_value
determine_grid_points
bilinear_interpolation
resize_errorlog
13
9 结构体、派生类型和全局变量 module_type_definitions
module_date_type_definition
module_sort_type_definitions
module_global_var
4
10 常量 module_constants
module_meteo_constants
2
  • constants: 程序中用到的各种常量

    item 中文 abbr value unit
    normal gravity 正常重力 gn 9.80665 [m/s^2]
    equatorial axis of WGS84 reference ellipsoid WGS84椭球长半轴 a_WGS84 6378137.0 [m]
    polar axis of WGS84 reference ellipsoid WGS84椭球短半轴 b_WGS84 6356752.3142 [m]
    constant for speed of light 光速 c 299792458 [m/s]
    temperature scale offset for transformation from [°C] to [K] 摄氏温度与开耳文温度转换常数 C2K 273.15 -
  • meteo_constants: 气象常量

    item 中文 abbr value unit
    universal gas constant 通用气体常数 R 8314.510 [kgm^2/(kmolKs^2)] = [J/(kmolK)]
             
             
             
             
             
             
             
             

Install

首先需要在本地创建目录,然后将软件克隆到新目录:

$ mkdir RADIATE
$ cd RADIATE
$ git clone https://github.com/TUW-VieVS/RADIATE.git

克隆过后需要对程序进行编译,软件提供了批处理编译shell脚本,如下执行脚本,生成可执行文件radiate

$ ./compile_RADIATE.sh

Data

  • NWM数据文件:必须是1°x1°水平分辨率和25级垂直分辨率,范围为全球,放入./DATA/GRIB文件夹下。

    • 注册ECMWF账号,根据选择数据类别,下载grib文件;
    • 安装ecCodes软件,使用其内部工具grib_filter将grib文件转换为要求的文本格式。
  • Azel文件:ray-tracing观测规范文件,放入./DATA/AZEL文件夹下。

    *具体文件格式见”文件格式”

Running

$ ./radiate <azel_yyyymmddhh_UNI.txt> <site.ell> <-para1> <-para2> ... <-paran> 

./radiate为运行命令,紧随其后的为一组输入参数,前两个参数是必须的,其余参数为可选参数。

  • 必要参数

    • azel_yyyymmddhh_UNI.txt为azel文件名;
    • site.ell为相应站点坐标文件名,在软件的./DATA/STATIONS文件夹下给出了以下选择:

      • vlbi.ell :包含所有VLBI测站的椭球坐标(约240个)
      • slr.ell :包含所有SLR测站的椭球坐标(约170个)
      • gnss.ell :包含所有GNSS测站的椭球坐标(约460个)
      • doris.ell:包含所有DORIS测站的椭球坐标(约200个)
      • gridpoint_coord_5x5.txt :包含全局5°x5°网格的所有网格点的椭球坐标(2592个)
      • gridpoint_coord_1x1.txt :包含全局1°x1°网格的所有网格点的椭球坐标(64800个)
  • 可选参数

    • 气象数据垂直插值的方法
      • -profilewise:(默认)
      • -gridwise
    • 射线追踪方法(定义交叉点和延迟的方法)
      • -pwl:分段线性射线追踪方法(默认)
      • -ref_pwl:改进的分段线性射线追踪方法
      • -Thayer:Thayer射线追踪方法
    • 观测波长(在微波或光学技术的光线追踪之间进行选择)
      • -microwave:微波波段(默认)
      • -optical:光学波段(实现波长:532nm)
    • 时间插值方法(将观测值分配给时期的模式)
      • -one_epoch_per_obs:每个观察仅分配给最接近观察的grib-file时期
      • -two_epochs_per_obs:(默认)每个观察被分配给两个周围的grib-file时期,并从它们进行线性插值
    • 指定是否应创建.trp文件并将其保存到RESULTS /以及标准生成的.radiate文件
      • -trp:创建(默认)
      • -notrp:不创建
    • 指定是否将错误日志保存到DATA / ERROR_LOG
      • -errorlog:记录(默认)
      • -noerrorlog:不记录
    • 指定生成的会话索引和epolog文件是否应在最后清除
      • -cleanup:清除(默认)
      • -nocleanup:保留
    • 指定会话的评估方式
      • -readAzel:(默认)
      • -createUniAzel

Formats

  • NWM

    软件要求输入的NWM信息要求严格遵循特定文本格式,NWM的分辨率在水平方向上必须是1°x1°,在垂直方向上必须是25个压力水平,数据内容包括位势高度Z[m],比湿Q和温度T[K]。

    • 标题行:
    1. 181 360:纬度个数,经度个数
    2. 90.0000000 -90.0000000:纬度范围
    3. 0.00000000 359.000000:经度范围
    4. 1.00000000 1.00000000:经度间隔,纬度间隔
    5. 25:压力等级数
    6. 以[hPa]为单位的压力水平列表,从顶部压力水平开始到底部压力水平结束
    7. 3:参数个数
    8. yyyy mm dd hh mm ss ii:NWM的日期; ii表示预测步骤,但它可以包含任何数字
    • 数据行:

    总共75行,每个值的格式为:值(压力等级,纬度,经度),压力等级1为最高压力等级(在大多数情况下为1 hPa)。

    img

  • Azel

    Azel文件包含要进行光线跟踪的观察的所有规范。根据可选的输入参数,azel文件必须手动创建,或者自动(和内部)计算。

    • 如果设置了可选的输入参数-readAzel(默认也设置),则光线跟踪器需要将相应的azel文件存储在“DATA / AZEL /”中。azel文件的每一行都指定一个观察点,从而产生一个光线跟踪延迟。Azel文件必须包含以下列:
      1. scannumber(也可以设置为任意数字)
      2. 修正儒略日(包括小数位)
      3. 年
      4. 年积日
      5. 时
      6. 分
      7. 秒
      8. 站名
      9. 方位角[rad]
      10. 海拔[rad]
      11. 来源(VLBI类星体或GNSS卫星;也可以设置为’无’)
      12. 现场温度[°C](如果不可用,也可以设置为NaN)
      13. 现场压力[hPa](如果不可用,也可以设置为NaN)
      14. 现场水汽压[hPa](如果不可用,也可设置为NaN)
    • 如果设置了可选的输入参数-createUniAzel,则不需要手动创建azel文件。相反,azel文件由RADIATE在内部创建(不将它们写入任何位置),遵循DATA / INPUT / AZEL_spec.txt中的规范。AZEL_spec.txt 的语法在其标题中描述。为了创建AZEL_list.txt含有亚悉文件名的列表是光线跟踪,这是基于在指定的日期信息AZEL_spec.txt,shell脚本FUN_ADD / create_AZEL_list.sh必须被执行。如前所述,用户很可能不需要此选项。

References

[1] Hofmeister A (2016) Determination of path delays in the atmosphere for geodetic VLBI by means of ray-tracing. Ph.D. thesis, Department of Geodesy and Geophysics, Faculty of Mathematics and Geoinformation, Technische Universität Wien.http://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-3444

[2] Hofmeister A, Böhm J (2017) Application of ray-traced tropospheric slant delays to geodetic VLBI analysis. J Geod. doi:10.1007/s00190-017-1000-7

[3] Zus F, Dick G, Dousa J, Heise S, Wickert J (2014) The rapid and precise computation of GPS slant total delays and mapping factors utilizing a numerical weather model. Radio Sci 49:207–216. doi:10.1002/2013RS005280

[4] Zus F, Dick G, Dousa J, Wickert J (2015) Systematic errors of mapping functions which are based on the VMF1 concept. GPS Solut 19:277. doi:10.1007/s10291-014-0386-4

(详情见维也纳工业大学数学与地球信息学院大地测量与地理信息系Hofmeister的博士论文.http://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-3444, 2016)

grib_filter:https://confluence.ecmwf.int/display/ECC/grib_filter


上一篇 Tropospheric delay

下一篇 aria2

Comments

Content