architecture-building-systems / CityEnergyAnalyst

The City Energy Analyst (CEA)
https://www.cityenergyanalyst.com/
MIT License
188 stars 59 forks source link

Generating plots using large amount of buildings takes too long #3207

Closed Iskenderzeynalov closed 8 months ago

Iskenderzeynalov commented 1 year ago

There is a problem with plotting requested graphs. I don't think it's the weakness of my laptop now. I think it is more because of the software. When I press OK at the end of adding plot it just circles but doesn't give me any plot for 1-2 hours. I didn't try waiting longer for plotting because I didn't know if there will be any result at the end.

P.S. in my simulation there is 45k buildings and all the scripts related to demand and stuff like that is done on the console since it is faster this way. Maybe I can also initiate plotting is console? ![Uploading plotprob.PNG…]()

reyery commented 1 year ago

Hi @Iskenderzeynalov, may I know which plots were you trying to generate?

We have not tested the plotting function of CEA with such a large amount of buildings. But from what I understand, it is more of the limitation of the plotting library that we are using in CEA.

Iskenderzeynalov commented 1 year ago

Hi, @reyery Solar radiation for District (monthly) Photovoltaic Potential for District (monthly) Load Curve for District (monthly)

Iskenderzeynalov commented 1 year ago

So is it possible to fix this problem? Because I really need the graphs to show in my Master's thesis.

reyery commented 1 year ago

Usually the Solar Radiation and Load Curve graphs are tricky for the plotting library that is currently in CEA, and would take a really long time (due to the fact that it has to sum all the individual files/building values).

Unfortunately, I suggest that you try summing it manually using another plotting library / programming language that you might be familiar with to get what you need (the raw data files for each building can be found in the output directory of each scenario) if you are urgent. as we currently do not have enough resources to test and update the plotting library to support a huge amount of buildings at this point.

Iskenderzeynalov commented 1 year ago

Which plotting library/programming language would you suggest using? Because I will learn it from scratch anyways.

reyery commented 1 year ago

I suggest that you can use python (pandas) to read and loop through each csv data file and sum them together in a single file (e.g. another csv). With the new csv, it might be possible to open it in excel and create a graph from that data.

Iskenderzeynalov commented 1 year ago

And which columns should I sum up for the 3 graphs that I stated earlier to get for example total.csv? Because there are a lot of columns and I am not sure which ones to sum up and which ones to keep as they are.

Also, what if I will create a csv file called Total_demand as it automatically creates in the smaller projects and try to plot my big project again? Can it work? because the csv will be there

OR what if I use more powerful computer and try to plot everything on the software itself? Will it be possible then? It took 10 hours to calculate the radiation script. Will it take more to just graph the results of solar radiation for district(monthly)?

reyery commented 1 year ago

For Solar radiation for District (monthly) you can sum up all the columns with kw in outputs/solar-radiation/B*_radiation.csv files to get the radiation for each building. Then resample the data to monthly.

For Photovoltaic Potential for District (monthly) you can sum all the columns with kwh in outputs/potentials/solar/B*_PV.csv files and resample the data again.

For Load Curve for District (monthly), I am not too familiar with that, but if I am not wrong you can find the required values in the outputs/demand/B*.csv files.

I hope this helps.

Iskenderzeynalov commented 1 year ago

Hi @reyery ,

I wanted to try to sum all the B files from demand folder into one total-demand csv, but from my last smaller project I saw that the total_demand scv file has more columns than B csv file. For example GRID_a0_kW or GRID_l0_kW which I don't know where came from. B1000.csv Total_demand.csv

I attached my csv files that CEA created for me. I wanted to create the same Total_demand file for my bigger project to extract the final data. Can You help me with this? Python code would also help me as well. I am just very short on time.

reyery commented 1 year ago

If you want the total demand of all buildings, you could just use the Total_demand.csv file, that is created after you run demand, which essentially already sums it up for you. As for the additional columns, below is the glossary of what each column is, you should be able to just extract what you want from the file.

get_total_demand:
  created_by:
  - demand
  file_path: outputs/data/demand/Total_demand.csv
  file_type: csv
  float_format: "%.3f"
  schema:
    columns:
      Af_m2:
        description: Conditioned floor area (heated/cooled)
        type: float
        unit: '[m2]'
        values: '{0.0...n}'
        min: 0.0
      Aocc_m2:
        description: Occupied floor area (heated/cooled)
        type: float
        unit: '[m2]'
        values: '{0.0...n}'
        min: 0.0
      Aroof_m2:
        description: Roof area
        type: float
        unit: '[m2]'
        values: '{0.0...n}'
        min: 0.0
      COAL_hs0_kW:
        description: Nominal Coal requirement for space heating supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      COAL_hs_MWhyr:
        description: Coal requirement for space heating supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      COAL_ww0_kW:
        description: Nominal Coal requirement for hotwater supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      COAL_ww_MWhyr:
        description: Coal requirement for hotwater supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      DC_cdata0_kW:
        description: Nominal district cooling for final data center cooling demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      DC_cdata_MWhyr:
        description: District cooling for data center cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      DC_cre0_kW:
        description: Nominal district cooling for refrigeration demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      DC_cre_MWhyr:
        description: District cooling for refrigeration demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      DC_cs0_kW:
        description: Nominal district cooling for space cooling demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      DC_cs_MWhyr:
        description: 'Energy consumption of space cooling system (if supplied by District Cooling), DC_cs = Qcs_sys / eff_cs'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      DH_hs0_kW:
        description: Nominal energy requirement by district heating (space heating
          supply)
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      DH_hs_MWhyr:
        description: Energy requirement by district heating (space heating supply)
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      DH_ww0_kW:
        description: Nominal Energy requirement by district heating (hotwater supply)
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      DH_ww_MWhyr:
        description: Energy requirement by district heating (hotwater supply)
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      E_cdata0_kW:
        description: Nominal Data centre cooling specific electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      E_cdata_MWhyr:
        description: Electricity consumption due to data center cooling
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      E_cre0_kW:
        description: Nominal Refrigeration system electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      E_cre_MWhyr:
        description: Electricity consumption due to refrigeration
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      E_cs0_kW:
        description: Nominal Cooling system electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      E_cs_MWhyr:
        description: 'Energy consumption of cooling system (if supplied by electricity grid), E_cs = Qcs_sys / eff_cs'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      E_hs0_kW:
        description: Nominal Heating system electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      E_hs_MWhyr:
        description: Electricity consumption due to space heating
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      E_sys0_kW:
        description: Nominal end-use electricity demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      E_sys_MWhyr:
        description: 'End-use total electricity consumption, E_sys =  Eve + Ea + El + Edata + Epro + Eaux + Ev'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      E_ww0_kW:
        description: Nominal Domestic hot water electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      E_ww_MWhyr:
        description: Electricity consumption due to hot water
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Ea0_kW:
        description: Nominal end-use electricity for appliances
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Ea_MWhyr:
        description: End-use electricity for appliances
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Eal0_kW:
        description: Nominal Total net electricity for all sources and sinks.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Eal_MWhyr:
        description: 'End-use electricity consumption of appliances and lighting, Eal = El_W + Ea_W'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Eaux0_kW:
        description: Nominal Auxiliary electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Eaux_MWhyr:
        description: 'End-use auxiliary electricity consumption, Eaux = Eaux_fw + Eaux_ww + Eaux_cs + Eaux_hs + Ehs_lat_aux'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Edata0_kW:
        description: Nominal Data centre electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Edata_MWhyr:
        description: Electricity consumption for data centers
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      El0_kW:
        description: Nominal end-use electricity for lights
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      El_MWhyr:
        description: End-use electricity for lights
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Ev0_kW:
        description: Nominal end-use electricity for electric vehicles
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Ev_MWhyr:
        description: End-use electricity for electric vehicles
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Eve0_kW:
        description: Nominal end-use electricity for ventilation
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Eve_MWhyr:
        description: End-use electricity for ventilation
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Epro0_kW:
        description: Nominal Industrial processes electricity consumption.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Epro_MWhyr:
        description: Electricity supplied to industrial processes
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GFA_m2:
        description: Gross floor area
        type: float
        unit: '[m2]'
        values: '{0.0...n}'
        min: 0.0
      GRID0_kW:
        description: Nominal Grid electricity consumption
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_MWhyr:
        description: 'Grid electricity consumption, GRID_a + GRID_l + GRID_v + GRID_ve + GRID_data + GRID_pro + GRID_aux + GRID_ww + GRID_cs + GRID_hs + GRID_cdata + GRID_cre'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_a0_kW:
        description: Nominal grid electricity requirements for appliances
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_a_MWhyr:
        description: Grid electricity requirements for appliances
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_aux0_kW:
        description: Nominal grid electricity requirements for auxiliary loads
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_aux_MWhyr:
        description: Grid electricity requirements for auxiliary loads
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_cdata0_kW:
        description: Nominal grid electricity requirements for servers cooling
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_cdata_MWhyr:
        description: Grid electricity requirements for servers cooling
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_cre0_kW:
        description: Nominal grid electricity requirements for refrigeration
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_cre_MWhyr:
        description: Grid electricity requirements for refrigeration
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_cs0_kW:
        description: Nominal grid electricity requirements for space cooling
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_cs_MWhyr:
        description: Grid electricity requirements for space cooling
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_data0_kW:
        description: Nominal grid electricity requirements for servers
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_data_MWhyr:
        description: Grid electricity requirements for servers
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_hs0_kW:
        description: Nominal grid electricity requirements for space heating
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_hs_MWhyr:
        description: Grid electricity requirements for space heating
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_l0_kW:
        description: Nominal grid electricity consumption for lights
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_l_MWhyr:
        description: Grid electricity requirements for lights
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_v0_kW:
        description: Nominal grid electricity consumption for electric vehicles
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_v_MWhyr:
        description: Grid electricity requirements for electric vehicles
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_ve0_kW:
        description: Nominal grid electricity consumption for ventilation
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_ve_MWhyr:
        description: Grid electricity requirements for ventilation
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_pro0_kW:
        description: Nominal grid electricity requirements for industrial processes
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_pro_MWhyr:
        description: Grid electricity requirements for industrial processes
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      GRID_ww0_kW:
        description: Nominal grid electricity requirements for hot water supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      GRID_ww_MWhyr:
        description: Grid electricity requirements for hot water supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      NG_hs0_kW:
        description: Nominal NG requirement for space heating supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      NG_hs_MWhyr:
        description: NG requirement for space heating supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      NG_ww0_kW:
        description: Nominal NG requirement for hotwater supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      NG_ww_MWhyr:
        description: NG requirement for hotwater supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Name:
        description: Unique building ID. It must start with a letter.
        type: string
        unit: 'NA'
        values: alphanumeric
      OIL_hs0_kW:
        description: Nominal OIL requirement for space heating supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      OIL_hs_MWhyr:
        description: OIL requirement for space heating supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      OIL_ww0_kW:
        description: Nominal OIL requirement for hotwater supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      OIL_ww_MWhyr:
        description: OIL requirement for hotwater supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      PV0_kW:
        description: Nominal PV electricity consumption
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      PV_MWhyr:
        description: PV electricity consumption
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      QC_sys0_kW:
        description: Nominal Total system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      QC_sys_MWhyr:
        description: 'Total energy demand for cooling, QC_sys = Qcs_sys + Qcdata_sys + Qcre_sys + Qcpro_sys'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      QH_sys0_kW:
        description: Nominal total building heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      QH_sys_MWhyr:
        description: Total energy demand for heating
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcdata0_kW:
        description: Nominal Data centre cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcdata_MWhyr:
        description: Data centre cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcdata_sys0_kW:
        description: Nominal end-use data center cooling demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcdata_sys_MWhyr:
        description: End-use data center cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcpro_sys0_kW:
        description: Nominal process cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcpro_sys_MWhyr:
        description: Yearly processes cooling demand.
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcre0_kW:
        description: Nominal Refrigeration cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcre_MWhyr:
        description: Refrigeration cooling demand for the system
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcre_sys0_kW:
        description: ' Nominal refrigeration cooling demand'
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcre_sys_MWhyr:
        description: End-use refrigeration demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs0_kW:
        description: Nominal Total cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_MWhyr:
        description: Total cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_dis_ls0_kW:
        description: Nominal Cooling distribution losses.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_dis_ls_MWhyr:
        description: Cooling distribution losses
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_em_ls0_kW:
        description: Nominal Cooling emission losses.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_em_ls_MWhyr:
        description: Cooling emission losses
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_lat_ahu0_kW:
        description: Nominal AHU latent cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_lat_ahu_MWhyr:
        description: AHU latent cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_lat_aru0_kW:
        description: Nominal ARU latent cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_lat_aru_MWhyr:
        description: ARU latent cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_lat_sys0_kW:
        description: Nominal System latent cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_lat_sys_MWhyr:
        description: Latent cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_ahu0_kW:
        description: Nominal AHU system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_ahu_MWhyr:
        description: AHU system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_aru0_kW:
        description: Nominal ARU system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_aru_MWhyr:
        description: ARU system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_scu0_kW:
        description: Nominal SCU system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_scu_MWhyr:
        description: SCU system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_sys0_kW:
        description: Nominal Sensible system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sen_sys_MWhyr:
        description: Sensible system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys0_kW:
        description: Nominal end-use space cooling demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_MWhyr:
        description: 'End-use space cooling demand, Qcs_sys = Qcs_sen_sys + Qcs_lat_sys + Qcs_em_ls + Qcs_dis_ls'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_ahu0_kW:
        description: Nominal AHU system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_ahu_MWhyr:
        description: AHU system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_aru0_kW:
        description: Nominal ARU system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_aru_MWhyr:
        description: ARU system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_scu0_kW:
        description: Nominal SCU system cooling demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qcs_sys_scu_MWhyr:
        description: SCU system cooling demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhpro_sys0_kW:
        description: Nominal process heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhpro_sys_MWhyr:
        description: Yearly processes heating demand.
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs0_kW:
        description: Nominal Total heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_MWhyr:
        description: Total heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_dis_ls0_kW:
        description: Nominal Heating system distribution losses.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_dis_ls_MWhyr:
        description: Heating system distribution losses
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_em_ls0_kW:
        description: Nominal Heating emission losses.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_em_ls_MWhyr:
        description: Heating system emission losses
        type: float
        unit: '[MWh/year]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_lat_ahu0_kW:
        description: Nominal AHU latent heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_lat_ahu_MWhyr:
        description: AHU latent heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_lat_aru0_kW:
        description: Nominal ARU latent heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_lat_aru_MWhyr:
        description: ARU latent heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_lat_sys0_kW:
        description: Nominal System latent heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_lat_sys_MWhyr:
        description: System latent heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_ahu0_kW:
        description: Nominal AHU sensible heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_ahu_MWhyr:
        description: Sensible heating demand in AHU
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_aru0_kW:
        description: ARU sensible heating demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_aru_MWhyr:
        description: ARU sensible heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_shu0_kW:
        description: Nominal SHU sensible heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_shu_MWhyr:
        description: SHU sensible heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_sys0_kW:
        description: Nominal HVAC systems sensible heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sen_sys_MWhyr:
        description: Sensible heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys0_kW:
        description: Nominal end-use space heating demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_MWhyr:
        description: 'End-use space heating demand, Qhs_sys = Qhs_sen_sys + Qhs_em_ls + Qhs_dis_ls'
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_ahu0_kW:
        description: Nominal AHU sensible heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_ahu_MWhyr:
        description: AHU system heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_aru0_kW:
        description: Nominal ARU sensible heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_aru_MWhyr:
        description: ARU sensible heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_shu0_kW:
        description: Nominal SHU sensible heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qhs_sys_shu_MWhyr:
        description: SHU sensible heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qww0_kW:
        description: Nominal DHW heating demand.
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qww_MWhyr:
        description: DHW heating demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      Qww_sys0_kW:
        description: Nominal end-use hotwater demand
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      Qww_sys_MWhyr:
        description: End-use hotwater demand
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      SOLAR_hs0_kW:
        description: Nominal solar thermal energy requirement for space heating supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      SOLAR_hs_MWhyr:
        description: Solar thermal energy requirement for space heating supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      SOLAR_ww0_kW:
        description: Nominal solar thermal energy requirement for hotwater supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      SOLAR_ww_MWhyr:
        description: Solar thermal energy requirement for hotwater supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      WOOD_hs0_kW:
        description: Nominal WOOD requirement for space heating supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      WOOD_hs_MWhyr:
        description: WOOD requirement for space heating supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      WOOD_ww0_kW:
        description: Nominal WOOD requirement for hotwater supply
        type: float
        unit: '[kW]'
        values: '{0.0...n}'
        min: 0.0
      WOOD_ww_MWhyr:
        description: WOOD requirement for hotwater supply
        type: float
        unit: '[MWh/yr]'
        values: '{0.0...n}'
        min: 0.0
      people0:
        description: Nominal occupancy
        type: int
        unit: '[people]'
        values: '{0...n}'
        min: 0
  used_by:
  - decentralized
  - emissions
  - network_layout
  - system_costs
  - optimization
  - sewage_potential
  - thermal_network
Iskenderzeynalov commented 1 year ago

Dear @reyery ,

Thank You for the clarification. However, I don't know how to calculate for example GRID_a0_kW in my Total_demand csv file because my B1000 file doesn't even have this column. Where should I take this info from?

reyery commented 1 year ago

Hi @Iskenderzeynalov, I am still not too sure what you mean. GRID_a0_kW will be available in the Total_demand.csv file that is generated after you run demand. And it is only found in Total_demand.csv, nowhere else.

Iskenderzeynalov commented 1 year ago

Dear @reyery,

So the problem is that there is no Total_demand csv file in my demand folder in my big project. And I am trying to create it manually. In order to know how it should be looking like, I looked into Total_demand csv file in my demand folder from my small project. The problem is that in order to manually calculate with python this total_demand csv file I need to sum up all the B files from demand folders. But there are columns in Total_demand file that are not in B csv file. So I don't know where should I get this info from.

reyery commented 1 year ago

That is strange, that file should have been generated after running demand. Unfortunately, the Total_demand.csv file contains a lot more details (columns) that cannot be found elsewhere. If you really need the other columns, I think the only way is to rerun demand.

Maybe edit your cea.config file (found in your user folder), under the demand section, make sure overheating-warning is set to false. It could be that your previous demand run did not complete successfully.

e.g.

[demand]
buildings = 
loads-output = 
massflows-output = 
temperatures-output = 
resolution-output = hourly
use-dynamic-infiltration-calculation = false
overheating-warning = false
Iskenderzeynalov commented 1 year ago

Hi @reyery ,

So I deleted everything from radiation folder to rerun it. Because when I try to run demand script I get an error and a suggestion to run radiation script first instead. I ran the radiation script and had a problem with it. I guess this is the root cause of my problems. Here is the error that I got at the end of running my radiation script:

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\Scripts\cea.exe\__main__.py", line 7, in <module>
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\site-packages\cea\interfaces\cli\cli.py", line 72, in main
    script_module.main(config)
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\site-packages\cea\resources\radiation_daysim\radiation_main.py", line 286, in main
    radiation_singleprocessing(cea_daysim, zone_building_names, locator, config.radiation, geometry_pickle_dir,
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\site-packages\cea\resources\radiation_daysim\radiation_main.py", line 87, in radiation_singleprocessing
    vectorize(daysim_main.isolation_daysim, num_processes)(
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\site-packages\cea\utilities\parallel.py", line 96, in wrapper
    result = map_result.get()
  File "D:\cea\CityEnergyAnalyst\Dependencies\Python\lib\multiprocessing\pool.py", line 771, in get
    raise self._value
subprocess.CalledProcessError: Command '['ds_illum', 'C:\\Users\\afzal\\AppData\\Local\\Temp\\tmp70gj8r6b\\cea_radiation\\projects\\chunk_110\\chunk_110.hea']' returned non-zero exit status 1.

Also, I looked up in the folder of radiation, and some of the buildings had radiation and geometry and some had only the geometry.

Can You please help me to resolve this problem?

P.S. I made sure in the config file it was "False".

Iskenderzeynalov commented 1 year ago

Kind reminder.

It's an urgent project and every radiation script runs for 10 hours.

reyery commented 1 year ago

Hi @Iskenderzeynalov, I apologize for the late response, however I have been busy with my full time job and had no time to investigate this issue.

Based on error given, I am not too sure what is directly causing the issue. Could you let me know if you are able to reproduce this issue? How long does it take for this to appear? Is it also possible to provide me with the full log of the radiation script. Thanks.

Iskenderzeynalov commented 1 year ago

Hi @reyery,

It is around 10 hours approximately of running and then it stops with the error message that I pasted on the last comment. I am not sure if it is possible for me to copy and pase all the things that console shows me because after some point I can not reach the initial lines. There are a lot of lines coming every 15-20 seconds. That's why I took only the last part. I can take more if that's gonna be useful, but it has to run again for 10 hours. The problem is probably related to the radiation csv creation because it creates approximately 41k radiation csvs, but I have 45k buildings, so at the last 4k buildings it does not generate the csv files for radiation, however geometry files are generated perfectly.

Is there any way maybe for me to upload the input data for You, and You try to run it? Maybe it is because of the laptop that I am using?

Also, where can I find full log of radiation script? I am not sure what it is.

reyery commented 1 year ago

Are you running the scripts from the GUI?

If so, it writes logs to the following locations:

If not, it is a little hard to extract the output other than from the terminal, since the radiation script uses external binaries to run the simulation. I can update CEA to show the output and errors of these external files, but I need some time before I can get to it.

Iskenderzeynalov commented 1 year ago

I run the scripts from the console. Is it possible for me to send you the input files? So that You could extract 3 graphs for me? I just need these graphs. I can upload my input files to the dropbox and give you the link. It is approximately 450 mb of data.

reyery commented 1 year ago

I'm really sorry, but I do not have access to a machine that would be able to help you run your scenario in a reasonable amount of time. Unfortunately, the only way to solve this issue, as far as I can tell, is to try and rerun radiation again.

To help increase the speed of the simulation, make sure that you have multiprocessing in the config file set to true. You could also try increasing the n-buildings-in-chunk setting to 250, to increase the batch size of the simulation, but this would require your machine to have enough RAM (preferably 16GB), or it could cause a memory error.

[general]
project = project
scenario-name = scenario
scenario = {general:project}/{general:scenario-name}
multiprocessing = true
number-of-cpus-to-keep-free = 1
debug = false
plugins = 

...

[radiation]
...
n-buildings-in-chunk = 250
Iskenderzeynalov commented 1 year ago

Hi @reyery ,

So I've tried to run radiation script on the settings that You gave me. It took 7 hours but still with error. Here what I received: error.txt

What should I do?

reyery commented 1 year ago

I have a feeling that it might be a race condition. I will try and implement a hotfix to solve this.

Iskenderzeynalov commented 1 year ago

Could You please let me know by when it will be ready? Sorry for asking this. I am just tight on time. Do You think this race condition will solve the issue and the radiation script will run without problems?