Cizz22 4 months ago
parent e67347e95e
commit d108b14970

@ -132,10 +132,10 @@ async def import_aro_project(*, db_session: DbSession, aeros_project_in: AerosPr
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=str(e)
)
await _initialize_default_project_data(
db_session=db_session,
project_name=filename
)
# await _initialize_default_project_data(
# db_session=db_session,
# project_name=filename
# )
async def fetch_aro_record(*, db_session: DbSession):
stmt = select(AerosProject).order_by(desc(AerosProject.updated_at)).limit(1)

@ -102,7 +102,7 @@ async def run_simulations(
db_session=db_session, simulation_id=simulation_id, sim_data=sim_data, is_saved=True, eq_update=results
)
await calculate_plant_eaf(db_session=db_session, simulation_id=simulation_id, is_default=simulation_in.IsDefault)
await calculate_plant_eaf(db_session=db_session, simulation_id=simulation_id, is_default=simulation_in.IsDefault, konkin_offset=simulation_in.Konkin_offset)
result = await update_contribution_bulk_mappings(db_session=db_session, simulation_id=simulation_id)

@ -17,6 +17,7 @@ class SimulationInput(BaseModel):
SimulationName: str = "DefaultSimulation"
CustomInput: dict = {}
IsDefault:bool = False
Konkin_offset: Optional[int] = 0
class SimulationNode(BaseModel):
id: UUID

@ -989,8 +989,9 @@ async def create_simulation(*, db_session: DbSession, simulation_in: SimulationI
# Check if is default
if simulation_in.IsDefault:
prev_simulation = await get_default_simulation(db_session=db_session)
prev_simulation.is_default = False
await db_session.commit()
if prev_simulation:
prev_simulation.is_default = False
await db_session.commit()
active_simulations = {
"status": "running",

@ -248,7 +248,7 @@ async def create_calc_result_object(
async def calculate_plant_eaf(
db_session: DbSession, simulation_id: UUID, is_default: bool
db_session: DbSession, simulation_id: UUID, is_default: bool, konkin_offset: Optional[int] = 0
):
"""Calculate overall plant EAF from individual node results."""
plant_calc_data = await get_plant_calc_result(
@ -268,10 +268,11 @@ async def calculate_plant_eaf(
plot_data=plant_plot_data.timestamp_outs
)
if is_default:
if konkin_offset > 0:
eaf_konkin = calculate_eaf_konkin(
plot_data=plant_plot_data.timestamp_outs,
periode_time=plant_calc_data.total_uptime + plant_calc_data.total_downtime
periode_time=int(plant_calc_data.total_uptime + plant_calc_data.total_downtime),
konkin_offset=konkin_offset
)
plant_calc_data.eaf_konkin = eaf_konkin
@ -283,4 +284,8 @@ async def calculate_plant_eaf(
plant_calc_data.eaf = eaf
plant_calc_data.derating_hours = derated_hours
await db_session.commit()
return eaf, derated_hours, efficiency_uptime
return eaf, derated_hours, efficiency_uptime
# async def calculate_eaf_konkin_pnat(
# db_session
# )

@ -44,11 +44,11 @@ def calculate_eaf(
raise
def calculate_eaf_konkin(
plot_data, periode_time
plot_data, periode_time, konkin_offset
):
maxHours = periode_time
hourly_data = create_time_series_data(plot_data, max_hours=maxHours)
filtered_data = filter_by_month(hourly_data, start_month=3, end_month=15)
filtered_data = filter_by_month(hourly_data, start_month=konkin_offset, end_month=(12+konkin_offset))
if not filtered_data:
return {
@ -113,10 +113,14 @@ def filter_by_month(hourly_data, start_month, end_month):
"""
# Convert months to hours (assuming 730 hours per month on average)
hours_per_month = 730 # 24 * 30.4 (average days per month)
total_hours = len(hourly_data)
start_hour = (start_month - 1) * hours_per_month + 1
end_hour = end_month * hours_per_month
if end_hour >= total_hours:
end_hour = total_hours
filtered_data = []
for data in hourly_data:
if start_hour <= data['hour'] <= end_hour:

@ -19,7 +19,10 @@ from tkinter.constants import E
async def get_model_data(*, db_session: DbSession, simulation_id: Optional[UUID]):
simulation = await get_default_simulation(db_session=db_session)
if simulation_id:
simulation = await get_simulation_by_id(db_session=db_session, simulation_id=simulation_id)
else:
simulation = await get_default_simulation(db_session=db_session)
if not simulation:
raise HTTPException(

Loading…
Cancel
Save