Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

idf_max_fields in json, how it's calculated?

Hello,

Can you explain how the idf_max_fields field in json is calculated? Obviously it plays a very important role, because when it's not set properly, the simulation fails.

I do try to make a converter idf->json myself ( don't ask me why :) ), but I can't manage to match the converted file with idf_max_fields value to be the same in my convert and energyplus one.

I do use energyplus with the -c option to convert the idf file. Here is a partial from 5ZoneAirCooledWithDOASAirLoop.epJSON example file. I converted it with the -c option.

My understanding is to count all the fields set in the object in order to calculate the value. I do not count idf_order, idf_max_fields, idf_max_extensible_fields . Here is the example:

5ZoneAirCooledWithDOASAirLoop.epJSON

"Coil:Cooling:DX:TwoStageWithHumidityControlMode": {
        "DOAS Cooling Coil": {
            "air_inlet_node_name": "DOAS Supply Fan Outlet",
            "air_outlet_node_name": "DOAS Cooling Coil Outlet",
            "dehumidification_mode_1_stage_1_2_coil_performance_name": "DOAS Dehumid Perf 1+2",
            "dehumidification_mode_1_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "dehumidification_mode_1_stage_1_coil_performance_name": "DOAS Dehumid Perf 1",
            "dehumidification_mode_1_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "idf_max_extensible_fields": 0,
            "idf_max_fields": 19,
            "idf_order": 302,
            "minimum_outdoor_dry_bulb_temperature_for_compressor_operation": 0,
            "normal_mode_stage_1_2_coil_performance_name": "DOAS Standard Perf 1+2",
            "normal_mode_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "normal_mode_stage_1_coil_performance_name": "DOAS Standard Perf 1",
            "normal_mode_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "number_of_capacity_stages": 2,
            "number_of_enhanced_dehumidification_modes": 1
        }
    }

It says idf_max_fields = 19 My json:

"Coil:Cooling:DX:TwoStageWithHumidityControlMode": {
    "DOAS Cooling Coil": {
      "air_inlet_node_name": "DOAS Supply Fan Outlet",
      "air_outlet_node_name": "DOAS Cooling Coil Outlet",
      "number_of_capacity_stages": 2,
      "number_of_enhanced_dehumidification_modes": 1,
      "normal_mode_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "normal_mode_stage_1_coil_performance_name": "DOAS Standard Perf 1",
      "normal_mode_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "normal_mode_stage_1_2_coil_performance_name": "DOAS Standard Perf 1+2",
      "dehumidification_mode_1_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "dehumidification_mode_1_stage_1_coil_performance_name": "DOAS Dehumid Perf 1",
      "dehumidification_mode_1_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "dehumidification_mode_1_stage_1_2_coil_performance_name": "DOAS Dehumid Perf 1+2",
      "minimum_outdoor_dry_bulb_temperature_for_compressor_operation": 0,
      "idf_max_extensible_fields": 0,
      "idf_max_fields": 14,
      "idf_order": 302
    }
  }

Idf max fields is 14, because I do count 14 fields set including the name. I do not count idf_order, idf_max_fields, idf_max_extensible_fields . Can you explain why the energyplus one (the file generated with -c option) has idf_max_fields set to 19?

This causes simulation errors. When I make my json with idf_max_fields set to 19, the simulation completes successfully. Otherwise with 14, it gives errors.

And here is the error log:

Program Version,EnergyPlus, Version 9.0.1-bb7ca4f0da, YMD=2019.10.09 17:13,
   ************* Beginning Zone Sizing Calculations
   ** Warning ** Weather file location will be used rather than entered (IDF) Location object.
   **   ~~~   ** ..Location object=CHICAGO_IL_USA TMY2-94846
   **   ~~~   ** ..Weather File Location=Tampa International Ap FL USA TMY3 WMO#=722110
   **   ~~~   ** ..due to location differences, Latitude difference=[13.81] degrees, Longitude difference=[5.22] degrees.
   **   ~~~   ** ..Time Zone difference=[1.0] hour(s), Elevation difference=[96.84] percent, [184.00] meters.
   ************* Beginning System Sizing Calculations
   ************* Beginning Plant Sizing Calculations
   ** Severe  ** GetDXCoils: Coil:Cooling:DX:TwoStageWithHumidityControlMode="DOAS COOLING COIL", invalid
   **   ~~~   ** ...not enough remaining fields for specified Number of Operating Modes.
   **   ~~~   ** ...Need additional Coil Performance Object Type and Coil Performance Object Name fields.
   **  Fatal  ** GetDXCoils: Errors found in getting Coil:Cooling:DX:TwoStageWithHumidityControlMode input.  Preceding condition(s) causes termination.
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=1
   ..... Last severe error=GetDXCoils: Coil:Cooling:DX:TwoStageWithHumidityControlMode="DOAS COOLING COIL", invalid
   ************* Warning:  Node connection errors not checked - most system input has not been read (see previous warning).
   ************* Fatal error -- final processing.  Program exited before simulations began.  See previous error messages.
   ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Sizing Error Summary. During Sizing: 1 Warning; 0 Severe Errors.
   ************* EnergyPlus Terminated--Fatal Error Detected. 1 Warning; 1 Severe Errors; Elapsed Time=00hr 00min  0.74sec

Thank you!!!

idf_max_fields in json, how it's calculated?

Hello,

Can you explain how the idf_max_fields field in json is calculated? Obviously it plays a very important role, because when it's not set properly, the simulation fails.

I do try to make a converter idf->json myself ( don't ask me why :) ), but I can't manage to match the converted file with idf_max_fields value to be the same in my convert and energyplus one.

I do use energyplus with the -c option to convert the idf file. Here is a partial from 5ZoneAirCooledWithDOASAirLoop.epJSON example file. I converted it with the -c option.

My understanding is to count all the fields set in the object in order to calculate the value. I do not count idf_order, idf_max_fields, idf_max_extensible_fields . Here is the example:

5ZoneAirCooledWithDOASAirLoop.epJSON

"Coil:Cooling:DX:TwoStageWithHumidityControlMode": {
        "DOAS Cooling Coil": {
            "air_inlet_node_name": "DOAS Supply Fan Outlet",
            "air_outlet_node_name": "DOAS Cooling Coil Outlet",
            "dehumidification_mode_1_stage_1_2_coil_performance_name": "DOAS Dehumid Perf 1+2",
            "dehumidification_mode_1_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "dehumidification_mode_1_stage_1_coil_performance_name": "DOAS Dehumid Perf 1",
            "dehumidification_mode_1_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "idf_max_extensible_fields": 0,
            "idf_max_fields": 19,
            "idf_order": 302,
            "minimum_outdoor_dry_bulb_temperature_for_compressor_operation": 0,
            "normal_mode_stage_1_2_coil_performance_name": "DOAS Standard Perf 1+2",
            "normal_mode_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "normal_mode_stage_1_coil_performance_name": "DOAS Standard Perf 1",
            "normal_mode_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
            "number_of_capacity_stages": 2,
            "number_of_enhanced_dehumidification_modes": 1
        }
    }

It says idf_max_fields = 19 My json:

"Coil:Cooling:DX:TwoStageWithHumidityControlMode": {
    "DOAS Cooling Coil": {
      "air_inlet_node_name": "DOAS Supply Fan Outlet",
      "air_outlet_node_name": "DOAS Cooling Coil Outlet",
      "number_of_capacity_stages": 2,
      "number_of_enhanced_dehumidification_modes": 1,
      "normal_mode_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "normal_mode_stage_1_coil_performance_name": "DOAS Standard Perf 1",
      "normal_mode_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "normal_mode_stage_1_2_coil_performance_name": "DOAS Standard Perf 1+2",
      "dehumidification_mode_1_stage_1_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "dehumidification_mode_1_stage_1_coil_performance_name": "DOAS Dehumid Perf 1",
      "dehumidification_mode_1_stage_1_2_coil_performance_object_type": "CoilPerformance:DX:Cooling",
      "dehumidification_mode_1_stage_1_2_coil_performance_name": "DOAS Dehumid Perf 1+2",
      "minimum_outdoor_dry_bulb_temperature_for_compressor_operation": 0,
      "idf_max_extensible_fields": 0,
      "idf_max_fields": 14,
      "idf_order": 302
    }
  }

Idf max fields is 14, because I do count 14 fields set including the name. I do not count idf_order, idf_max_fields, idf_max_extensible_fields . Can you explain why the energyplus one (the file generated with -c option) has idf_max_fields set to 19?

This causes simulation errors. When I make my json with idf_max_fields set to 19, the simulation completes successfully. Otherwise with 14, it gives errors.

And here is the error log:

Program Version,EnergyPlus, Version 9.0.1-bb7ca4f0da, YMD=2019.10.09 17:13,
   ************* Beginning Zone Sizing Calculations
   ** Warning ** Weather file location will be used rather than entered (IDF) Location object.
   **   ~~~   ** ..Location object=CHICAGO_IL_USA TMY2-94846
   **   ~~~   ** ..Weather File Location=Tampa International Ap FL USA TMY3 WMO#=722110
   **   ~~~   ** ..due to location differences, Latitude difference=[13.81] degrees, Longitude difference=[5.22] degrees.
   **   ~~~   ** ..Time Zone difference=[1.0] hour(s), Elevation difference=[96.84] percent, [184.00] meters.
   ************* Beginning System Sizing Calculations
   ************* Beginning Plant Sizing Calculations
   ** Severe  ** GetDXCoils: Coil:Cooling:DX:TwoStageWithHumidityControlMode="DOAS COOLING COIL", invalid
   **   ~~~   ** ...not enough remaining fields for specified Number of Operating Modes.
   **   ~~~   ** ...Need additional Coil Performance Object Type and Coil Performance Object Name fields.
   **  Fatal  ** GetDXCoils: Errors found in getting Coil:Cooling:DX:TwoStageWithHumidityControlMode input.  Preceding condition(s) causes termination.
   ...Summary of Errors that led to program termination:
   ..... Reference severe error count=1
   ..... Last severe error=GetDXCoils: Coil:Cooling:DX:TwoStageWithHumidityControlMode="DOAS COOLING COIL", invalid
   ************* Warning:  Node connection errors not checked - most system input has not been read (see previous warning).
   ************* Fatal error -- final processing.  Program exited before simulations began.  See previous error messages.
   ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
   ************* EnergyPlus Sizing Error Summary. During Sizing: 1 Warning; 0 Severe Errors.
   ************* EnergyPlus Terminated--Fatal Error Detected. 1 Warning; 1 Severe Errors; Elapsed Time=00hr 00min  0.74sec

Thank you!!!