# 获取程序所在位置,拼接配置文件
    MAIN_PATH, MAIN_FILE = os.path.split(os.path.realpath(__file__))
    CONFIG_FILE = os.path.join(MAIN_PATH, "cfg", "global.cfg")

    PYTHON_PATH = os.environ.get("PYTHONPATH")
    DV_PATH = os.path.join(PYTHON_PATH, "DV")

    # 配置不存在预警
    if not os.path.isfile(CONFIG_FILE):
        print (u"配置文件不存在 %s" % CONFIG_FILE)
        sys.exit(-1)

    # 载入配置文件
    GLOBAL_CONFIG = ConfigObj(CONFIG_FILE)
    PARAM_DIR = GLOBAL_CONFIG['PATH']['PARAM']
    MATCH_DIR = GLOBAL_CONFIG['PATH']['MID']['MATCH_DATA']
    LogPath = GLOBAL_CONFIG['PATH']['OUT']['LOG']
    Log = LogServer(LogPath)  # 初始化日志

    if len(ARGS) == 2:
        satPair = ARGS[0]
        str_time = ARGS[1]

        for NC_TYPE in ["NRTC", "RAC"]:
            Log.info(u'开始运行国际标准%s的生成程序-----------------------------' % NC_TYPE)
            run(satPair, str_time, NC_TYPE)
    else:
        print HELP_INFO
        sys.exit(-1)
Exemple #2
0
if not os.path.isfile(cfgFile):
    print (u'配置文件不存在 %s' % cfgFile)
    sys.exit(-1)
# 载入配置文件
inCfg = ConfigObj(cfgFile)

LogPath = inCfg['PATH']['LOG']  # log存放地址
Log = LogServer(LogPath)

# 手动执行跟2个参数,卫星明和时间段
if len(args) == 2:
    satName = args[0]  # 卫星全名
    str_time = args[1]  # 程序执行时间范围

    date_s, date_e = pb_time.arg_str2date(str_time)
    Log.info(u'手动轨迹计算程序开始运行-----------------------------')
    while date_s <= date_e:
        ymd = date_s.strftime('%Y%m%d')
        run(satName, ymd)
        date_s = date_s + relativedelta(days=1)

# 自动执行不跟参数,卫星明和时间段从配置中获取
elif len(args) == 0:
    Log.info(u'自动轨迹计算程序开始运行-----------------------------')
    ORBIT_DAYS = inCfg['ORBIT']['ORBIT_DAYS']
    rolldays = inCfg['CROND']['rolldays']
    satLst = inCfg['SAT_ID'].keys()

    if int(ORBIT_DAYS) <= 0:
        ORBIT_DAYS = 1
Exemple #3
0
    # 载入配置文件
    inCfg = ConfigObj(cfgFile)
    MATCH_DIR = inCfg["PATH"]["MID"]["MATCH_DATA"]
    DRA_DIR = inCfg["PATH"]["OUT"]["DRA"]
    MRA_DIR = inCfg["PATH"]["OUT"]["MRA"]
    ABR_DIR = inCfg["PATH"]["OUT"]["ABR"]
    LogPath = inCfg["PATH"]["OUT"]["LOG"]
    Log = LogServer(LogPath)

    # 开启进程池
    # threadNum = inCfg["CROND"]["threads"]
    threadNum = "10"
    pool = Pool(processes=int(threadNum))

    if len(args) == 2:
        Log.info(u"手动日月回归分析程序开始运行-----------------------------")
        satPair = args[0]
        str_time = args[1]
        date_s, date_e = pb_time.arg_str2date(str_time)
        isMonthly = False
        if len(str_time) == 13:
            isMonthly = True
            timeStep = relativedelta(months=1)
        elif len(str_time) == 17:
            timeStep = relativedelta(days=1)
        else:
            print "time format error  yyyymmdd-yyyymmdd or yyyymm-yyyymm"
            sys.exit(-1)
        # 定义参数List,传参给线程池
        args_List = []
Exemple #4
0
            else:
                Log.error(
                    "%s : the Length of sat_time and sat_list are not the same!"
                    % s1.sat)


'''
    input: 配置文件的路径,时间段
'''
args = sys.argv[1:]
if len(args) == 2:
    str_conf = args[0]
    str_time = args[1]
    if not os.path.isfile(str_conf):
        print(u'配置文件不存在 %s' % str_conf)
        sys.exit(-1)
    OdmCfg = ConfigObj(str_conf)
    day_counts = int(OdmCfg['ORBIT']['ORBIT_DAYS'])  # 轨迹算几天,预报算几天
    date_s, date_e = pb_time.arg_str2date(str_time)
    date_e = date_e + relativedelta(days=(day_counts - 1))

else:  # 跟参数,则处理输入的时段数据
    print 'args: cfgFile yyyymmdd-yyyymmdd'
    sys.exit(-1)

LogPath = OdmCfg['PATH']['LOG']
Log = LogServer(LogPath)
Log.info(u'交叉点预报程序开始运行-----------------------------')

run(date_s, date_e)
Exemple #5
0
    sys.exit(-1)

# 载入配置文件
inCfg = ConfigObj(cfgFile)
ORBIT_DIR = inCfg['PATH']['IN']['ORBIT']
MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
DMS_DIR = inCfg['PATH']['OUT']['DMS']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 获取开机线程的个数,开启线程池。
threadNum = inCfg['CROND']['threads']
pool = Pool(processes=int(threadNum))

if len(args) == 2:
    Log.info(u'手动蝴蝶图绘制程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)
    # 定义参数List,传参给线程池
    args_List = []

    while date_s <= date_e:
        ymd = date_s.strftime('%Y%m%d')
        pool.apply_async(run, (satPair, ymd))
        date_s = date_s + relativedelta(days=1)

    pool.close()
    pool.join()

Exemple #6
0
    print(u'配置文件不存在 %s' % cfgFile)
    sys.exit(-1)

# 载入配置文件
inCfg = ConfigObj(cfgFile)
MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
MBA_DIR = inCfg['PATH']['OUT']['MBA']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 获取开机线程的个数,开启线程池。
threadNum = inCfg['CROND']['threads']
pool = Pool(processes=int(threadNum))

if len(args) == 2:
    Log.info(u'手动月统计绘图程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)

    while date_s <= date_e:
        ymd = date_s.strftime('%Y%m%d')
        pool.apply_async(run, (satPair, ymd))
        date_s = date_s + relativedelta(months=1)
    pool.close()
    pool.join()
elif len(args) == 0:
    Log.info(u'自动月统计绘图程序开始运行 -----------------------------')
    rolldays = inCfg['CROND']['rolldays']
    pairLst = inCfg['PAIRS'].keys()
    # 定义参数List,传参给线程池
#                 x, y = p.m(aLon[i, j, 0, :], aLat[i, j, 0, :])
#                 verts = []
#                 for k in xrange(aLon.shape[3]):
#                     verts.append((x[k], y[k]))
#                 path = Path(verts, codes)
#                 rgba_color = cm.jet(norm(aTbb[i, j, 0]))
#                 ax_pathches = patches.PathPatch(path, facecolor=rgba_color, edgecolor='k', lw=0)
#                 p.ax.add_patch(ax_pathches)
#         p.colormap = "jet"
#         p.add_colorbar_right()
# #         p.easyplot(aLat, aLon, aTbb, vmin=vmin, vmax=vmax, markersize=0.5, marker='.')
#         p.savefig(opath, dpi=300)

if __name__ == '__main__':

    # 获取程序参数接口
    args = sys.argv[1:]

    if len(args) == 2:
        Log.info(u'手动精匹配分布图绘制程序开始运行-----------------------------')
        satPair = args[0]
        str_time = args[1]
        date_s, date_e = pb_time.arg_str2date(str_time)
        while date_s <= date_e:
            ymd = date_s.strftime('%Y%m%d')
            run(satPair, ymd)
            date_s = date_s + relativedelta(days=1)

    else:
        print(u'参数错误-----------------------------')
Exemple #8
0
if not os.path.isfile(cfgFile):
    print(u'配置文件不存在 %s' % cfgFile)
    sys.exit(-1)
# 载入配置文件
inCfg = ConfigObj(cfgFile)
StdNC_DIR = inCfg['PATH']['OUT']['ISN']
DBB_DIR = inCfg['PATH']['OUT']['DBB']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 开启进程池
threadNum = inCfg['CROND']['threads']
pool = Pool(processes=int(threadNum))

if len(args) == 2:
    Log.info(u'手动长时间双差绘图程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)
    #     satPairs = inCfg['DOUBLE_BIAS']['satPair']
    pair1 = inCfg['DOUBLE_BIAS'][satPair]['pair1']
    pair2 = inCfg['DOUBLE_BIAS'][satPair]['pair2']
    run(pair1, pair2, date_s, date_e)

elif len(args) == 1:
    Log.info(u'手动长时间双差绘图程序开始运行-----------------------------')
    satPair = args[0]
    pair1 = inCfg['DOUBLE_BIAS'][satPair]['pair1']
    pair2 = inCfg['DOUBLE_BIAS'][satPair]['pair2']
    run(pair1, pair2, None, None)
Exemple #9
0
        sys.exit(-1)
    # 载入配置文件
    inCfg = ConfigObj(cfgFile)
    MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
    ABR_DIR = inCfg['PATH']['OUT']['ABR']
    OMB_DIR = inCfg['PATH']['OUT']['OMB']
    ABC_DIR = inCfg['PATH']['OUT']['ABC']
    LogPath = inCfg['PATH']['OUT']['LOG']
    Log = LogServer(LogPath)

    # 开启进程池
    threadNum = inCfg['CROND']['threads']
    pool = Pool(processes=int(threadNum))

    if len(args) == 2:
        Log.info(u'手动长时间序列绘图程序开始运行-----------------------------')
        satPair = args[0]
        str_time = args[1]
        date_start, date_end = pb_time.arg_str2date(str_time)
        run(satPair, date_start, date_end)
        Log.info(u'SUCCESS,手动长时间序列绘图程序-----------------------------')

    elif len(args) == 1:
        Log.info(u'手动长时间序列绘图程序开始运行 -----------------------------')
        satPair = args[0]
        run(satPair, None, None)
        Log.info(u'SUCCESS,手动长时间序列绘图程序-----------------------------')

    elif len(args) == 0:
        Log.info(u'自动长时间序列绘图程序开始运行 -----------------------------')
        rolldays = inCfg['CROND']['rolldays']
Exemple #10
0
cfgFile = os.path.join(MainPath, 'dm_odm.cfg')
# 配置不存在预警
if not os.path.isfile(cfgFile):
    print(u'配置文件不存在 %s' % cfgFile)
    sys.exit(-1)
# 载入配置文件
inCfg = ConfigObj(cfgFile)

# 初始化日志
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 启动socket服务,防止多实例运行
port = 9803
sserver = SocketServer()
if sserver.createSocket(port) == False:
    Log.info(u'----已经有一个实例在实行')
    sys.exit(-1)

# 读取目录信息
T_DATA = inCfg['PATH']['OUT']['T_DATA']
MVREC = inCfg['PATH']['OUT']['MVREC']
S_DATA = inCfg['PATH']['OUT']['S_DATA']

Log.info(u'运行数据迁移程序 -----------------------------')

# 获取编号
satLst = inCfg['ORDER']
for satID in satLst:
    run(satID)
Exemple #11
0
if not os.path.isfile(cfgFile):
    print(u'配置文件不存在 %s' % cfgFile)
    sys.exit(-1)
# 载入配置文件
inCfg = ConfigObj(cfgFile)
PARAM_DIR = inCfg['PATH']['PARAM']
MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 开启进程池
threadNum = int(inCfg['CROND']['threads'])
pool = Pool(processes=threadNum)

if len(args) == 2:
    Log.info(u'手动NRTC产品生成程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)

    while date_s <= date_e:
        ymd = date_s.strftime('%Y%m%d')
        if threadNum == 1:
            run(satPair, ymd)
        else:
            pool.apply_async(run, (satPair, ymd))
        date_s = date_s + relativedelta(days=1)
    pool.close()
    pool.join()

elif len(args) == 0:
Exemple #12
0
LogPath = inCfg['PATH']['LOG']  # log存放地址
Log = LogServer(LogPath)
# 获取命令行参数
args = sys.argv[1:]
help_info = \
    u'''
        【参数1】:卫星全名
        【参数2】:yyyymmdd-yyyymmdd
    '''
if '-h' in args:
    print help_info
    sys.exit(-1)

# 手动执行跟2个参数,卫星明和时间段
if len(args) == 2:
    Log.info(u'手动交叉预报程序开始运行-----------------------------')

    satName = args[0]  # 卫星全名
    str_time = args[1]  # 程序执行时间范围
    date_s, date_e = pb_time.arg_str2date(str_time)
    while date_s <= date_e:
        ymd = date_s.strftime('%Y%m%d')
        run(satName, ymd)
        date_s = date_s + relativedelta(days=1)

# 自动执行不跟参数,卫星明和时间段从配置中获取
elif len(args) == 0:
    Log.info(u'自动交叉预报程序开始运行-----------------------------')

    CROSS_DAYS = inCfg['CROSS']['CROSS_DAYS']
    rolldays = inCfg['CROND']['rolldays']
Exemple #13
0
NUM = inCfg['ORDER'].keys()

# 启动socket服务,防止多实例运行
port = 9850
sserver = SocketServer()
if sserver.createSocket(port) == False:
    Log.error(u'----已经有一个实例在实行')
    sys.exit(-1)

# 判断系统类型
if 'nt' in os.name:
    OSTYPE = 'windows'
elif 'posix' in os.name:
    OSTYPE = 'linux'
else:
    Log.info('不识别的系统类型')
    sys.exit(-1)

# 设置代理信息,如果服务器无法连接外网需要设置代理连接
if 'ON' in use_proxy:
    socks.set_default_proxy(socks.SOCKS5, PROXY_HOST, PROXY_PORT, True,
                            PROXY_USER, PROXY_PAWD)
    socket.socket = socks.socksocket

# 获取开机线程的个数,开启线程池。获取订单对时间和编号进行并行操作
threadNum = inCfg['TOOL']['thread']
pool = threadpool.ThreadPool(int(threadNum))

# 手动执行跟2个参数,卫星明和时间段
if len(args) == 2:
    Log.info(u'手动运行订购程序 -----------------------------')
Exemple #14
0
# 初始化日志
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 读取配置文件信息
ORDER = inCfg['PATH']['OUT']['ORDER']  # 读取目录信息
MVREC = inCfg['PATH']['OUT']['MVREC']
T_DATA = inCfg['PATH']['OUT']['T_DATA']

# 判断系统的类型
if 'nt' in os.name:
    OSTYPE = 'windows'
elif 'posix' in os.name:
    OSTYPE = 'linux'
else:
    Log.info(u'不识别的系统类型')
    sys.exit(-1)

# 开始sock服务,判断该端口是否被占用。如果占用则退出
port = 9802
sserver = SocketServer()
if sserver.createSocket(port) == False:
    Log.info(u'----已经有一个实例在实行')
    sys.exit(-1)

# 获取开机线程的个数,开启线程池。获取订单对时间和编号进行并行操作
threadNum = inCfg['TOOL']['thread']
pool = threadpool.ThreadPool(int(threadNum))

# 手动执行跟2个参数,卫星明和时间段
if len(args) == 2:
Exemple #15
0
# 载入配置文件
inCfg = ConfigObj(cfgFile)
MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
DRA_DIR = inCfg['PATH']['OUT']['DRA']
MRA_DIR = inCfg['PATH']['OUT']['MRA']
ABR_DIR = inCfg['PATH']['OUT']['ABR']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 开启进程池
threadNum = inCfg['CROND']['threads']
pool = Pool(processes=int(threadNum))

if len(args) == 2:
    Log.info(u'手动日月回归分析程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)
    isMonthly = False
    if len(str_time) == 13:
        isMonthly = True
        timeStep = relativedelta(months=1)
    elif len(str_time) == 17:
        timeStep = relativedelta(days=1)
    else:
        print 'time format error  yyyymmdd-yyyymmdd or yyyymm-yyyymm'
        sys.exit(-1)
    # 定义参数List,传参给线程池
    args_List = []
Exemple #16
0
    sys.exit(-1)
# 载入配置文件
inCfg = ConfigObj(cfgFile)
MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
ABR_DIR = inCfg['PATH']['OUT']['ABR']
OMB_DIR = inCfg['PATH']['OUT']['OMB']
ABC_DIR = inCfg['PATH']['OUT']['ABC']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)

# 开启进程池
threadNum = inCfg['CROND']['threads']
pool = Pool(processes=int(threadNum))

if len(args) == 2:
    Log.info(u'手动长时间序列绘图程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)
    run(satPair, date_s, date_e)

elif len(args) == 1:
    Log.info(u'手动长时间序列绘图程序开始运行 -----------------------------')
    satPair = args[0]
    run(satPair, None, None)

elif len(args) == 0:
    Log.info(u'自动长时间序列绘图程序开始运行 -----------------------------')
    rolldays = inCfg['CROND']['rolldays']
    pairLst = inCfg['PAIRS'].keys()
    # 定义参数List,传参给线程池
# 获取程序所在位置,拼接配置文件
MainPath, MainFile = os.path.split(os.path.realpath(__file__))
cfgFile = os.path.join(MainPath, 'cfg', 'global.cfg')

# 配置不存在预警
if not os.path.isfile(cfgFile):
    print (u'配置文件不存在 %s' % cfgFile)
    sys.exit(-1)
# 载入配置文件
inCfg = ConfigObj(cfgFile)
PARAM_DIR = inCfg['PATH']['PARAM']
MATCH_DIR = inCfg['PATH']['MID']['MATCH_DATA']
LogPath = inCfg['PATH']['OUT']['LOG']
Log = LogServer(LogPath)


if len(args) == 2:
    Log.info(u'手动日合成程序开始运行-----------------------------')
    satPair = args[0]
    str_time = args[1]
    date_s, date_e = pb_time.arg_str2date(str_time)

    while date_s <= date_e:
        ymd = date_s.strftime('%Y%m%d')
        run(satPair, ymd)
        date_s = date_s + relativedelta(days=1)

else:
    print 'args: FY3A+MERSI_AQUA+MODIS yyyymmdd-yyyymmdd '
    sys.exit(-1)