|
@@ -66,10 +66,17 @@ def material(input_file, isDq=True):
|
|
|
basic_area = pd.read_csv(input_file / basi_area, sep='\s+', header=0)
|
|
|
return basic_area
|
|
|
|
|
|
-def clean_limited_power1(power, env):
|
|
|
- power['Datetime'] = pd.to_datetime(power['Datetime'])
|
|
|
- env['Datetime'] = pd.to_datetime(env['Datetime'])
|
|
|
- power_env = pd.merge(power, env, on='Datetime')
|
|
|
+def clean_power(power, env, plant_id):
|
|
|
+ env_power = pd.merge(env, power, on=args['col_time'])
|
|
|
+ if 'HubSpeed' in env.columns.tolist():
|
|
|
+ from app.common.limited_power_wind import LimitPower
|
|
|
+ lp = LimitPower(logger, args, env_power)
|
|
|
+ power = lp.clean_limited_power(plant_id, True)
|
|
|
+ elif 'Irradiance' in env.columns.tolist():
|
|
|
+ from app.common.limited_power_solar import LimitPower
|
|
|
+ lp = LimitPower(logger, args, env_power)
|
|
|
+ power = lp.clean_limited_power(plant_id, True)
|
|
|
+ return power
|
|
|
|
|
|
|
|
|
def input_file_handler(input_file: str):
|
|
@@ -77,12 +84,12 @@ def input_file_handler(input_file: str):
|
|
|
if 'dqyc' in input_file.lower():
|
|
|
station_info, station_info_d, nwp, nwp_h, power, nwp_v, nwp_v_h, env = material(input_file, True)
|
|
|
cap = round(station_info['PlantCap'][0], 2)
|
|
|
+ plant_id = int(station_info['PlantID'][0])
|
|
|
# 含有model,训练
|
|
|
if 'model' in input_file.lower():
|
|
|
- # 进行限电清洗
|
|
|
- if env is not None:
|
|
|
- pass
|
|
|
- train_data = pd.merge(nwp_v_h, power, on='Datetime')
|
|
|
+ if env is not None: # 进行限电清洗
|
|
|
+ power = clean_power(power, env, plant_id)
|
|
|
+ train_data = pd.merge(nwp_v_h, power, on=args['col_time'])
|
|
|
if args['model_name'] == 'fmi':
|
|
|
from app.model.tf_fmi_train import model_training
|
|
|
elif args['model_name'] == 'cnn':
|