# 获取程序所在位置,拼接配置文件 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)
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
# 载入配置文件 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 = []
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)
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()
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'参数错误-----------------------------')
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)
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']
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)
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:
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']
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'手动运行订购程序 -----------------------------')
# 初始化日志 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:
# 载入配置文件 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 = []
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)