Skip to content

Commit

Permalink
Cleaned up code for #2317
Browse files Browse the repository at this point in the history
  • Loading branch information
mwetter committed Jan 19, 2021
1 parent 7269aa7 commit e194f4f
Show file tree
Hide file tree
Showing 11 changed files with 91 additions and 91 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ void setAttributesReal(
for(i = 0; i < ptrSpawnReals->n; i++){
found = false;
if (bui->logLevel >= TIMESTEP)
SpawnFormatMessage("%.2f %s: Setting variable reference for %s.\n", bui->modelicaNameBuilding, bui->time, ptrSpawnReals->fmiNames[i]);
SpawnFormatMessage("%.3f %s: Setting variable reference for %s.\n", bui->modelicaNameBuilding, bui->time, ptrSpawnReals->fmiNames[i]);

for (iFMI = 0; iFMI < nVar; iFMI++){
var = fmi2_import_get_variable(varLis, iFMI);
Expand All @@ -258,16 +258,16 @@ void setAttributesReal(
/* If a unit is not specified in modelDescription.xml, then unit is NULL */

if (ptrSpawnReals->units[i] == NULL){
SpawnFormatMessage("%.2f %s: Warning: Variable %s does not specify units in %s. It will not be converted to SI units.\n",
SpawnFormatMessage("%.3f %s: Warning: Variable %s does not specify units in %s. It will not be converted to SI units.\n",
bui->time, bui->modelicaNameBuilding, ptrSpawnReals->fmiNames[i], fmuNam);
}

if (bui->logLevel >= MEDIUM){
if (ptrSpawnReals->units[i] == NULL)
SpawnFormatMessage("%.2f %s: Variable with name %s has no units and valRef= %d.\n", bui->time, bui->modelicaNameBuilding, ptrSpawnReals->fmiNames[i], varValRef[iFMI]);
SpawnFormatMessage("%.3f %s: Variable with name %s has no units and valRef= %d.\n", bui->time, bui->modelicaNameBuilding, ptrSpawnReals->fmiNames[i], varValRef[iFMI]);
else{
const char* unitName = fmi2_import_get_unit_name(ptrSpawnReals->units[i]); /* This is 'W', 'm2', etc. */
SpawnFormatMessage("%.2f %s: Variable with name %s has unit = %s and valRef= %d.\n", bui->time, bui->modelicaNameBuilding, ptrSpawnReals->fmiNames[i], unitName, varValRef[iFMI]);
SpawnFormatMessage("%.3f %s: Variable with name %s has unit = %s and valRef= %d.\n", bui->time, bui->modelicaNameBuilding, ptrSpawnReals->fmiNames[i], unitName, varValRef[iFMI]);
}
}
ptrSpawnReals->valRefs[i] = varValRef[iFMI];
Expand All @@ -276,7 +276,7 @@ void setAttributesReal(
}
}
if (!found)
SpawnFormatError("%.2f %s: Failed to find variable %s in %s.", bui->time, bui->modelicaNameBuilding,
SpawnFormatError("%.3f %s: Failed to find variable %s in %s.", bui->time, bui->modelicaNameBuilding,
ptrSpawnReals->fmiNames[i], fmuNam);
}
}
Expand All @@ -295,7 +295,7 @@ void setValueReferences(FMUBuilding* bui){

/* Set value references for the zones by assigning the values obtained from the FMU */
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Setting variable references for zones.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Setting variable references for zones.\n", bui->time, bui->modelicaNameBuilding);

for(i = 0; i < bui->nZon; i++){
zone = (FMUZone*) bui->zones[i];
Expand All @@ -306,7 +306,7 @@ void setValueReferences(FMUBuilding* bui){

/* Set value references for the input variables by assigning the values obtained from the FMU */
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Setting variable references for input variables.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Setting variable references for input variables.\n", bui->time, bui->modelicaNameBuilding);

for(i = 0; i < bui->nInputVariables; i++){
inpVar = (FMUInputVariable*) bui->inputVariables[i];
Expand All @@ -316,7 +316,7 @@ void setValueReferences(FMUBuilding* bui){

/* Set value references for the output variables by assigning the values obtained from the FMU */
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Setting variable references for output variables.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Setting variable references for output variables.\n", bui->time, bui->modelicaNameBuilding);

for(i = 0; i < bui->nOutputVariables; i++){
outVar = (FMUOutputVariable*) bui->outputVariables[i];
Expand Down Expand Up @@ -344,7 +344,7 @@ void generateFMU(FMUBuilding* bui, const char* modelicaBuildingsJsonFile){
void (*SpawnFormatError)(const char *string, ...) = bui->SpawnFormatError;

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Entered generateFMU with FMUPath = %s.\n", bui->time, bui->modelicaNameBuilding, bui->fmuAbsPat);
SpawnFormatMessage("%.3f %s: Entered generateFMU with FMUPath = %s.\n", bui->time, bui->modelicaNameBuilding, bui->fmuAbsPat);

if( access(modelicaBuildingsJsonFile, F_OK ) == -1 ) {
SpawnFormatError("Requested to use json file '%s' which does not exist.", modelicaBuildingsJsonFile);
Expand Down Expand Up @@ -393,7 +393,7 @@ void generateFMU(FMUBuilding* bui, const char* modelicaBuildingsJsonFile){

/* Generate the FMU */
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Executing %s\n", bui->time, bui->modelicaNameBuilding, fulCmd);
SpawnFormatMessage("%.3f %s: Executing %s\n", bui->time, bui->modelicaNameBuilding, fulCmd);

retVal = system(fulCmd);
/* Check if generated FMU indeed exists */
Expand Down Expand Up @@ -447,7 +447,7 @@ void setFMUDebugLevel(FMUBuilding* bui){
}

if (bui->logLevel >= MEDIUM)
bui->SpawnFormatMessage("%.2f %s: Setting debug logging.\n", bui->time, bui->modelicaNameBuilding);
bui->SpawnFormatMessage("%.3f %s: Setting debug logging.\n", bui->time, bui->modelicaNameBuilding);
status = fmi2_import_set_debug_logging(
bui->fmu,
fmi2_true, /* Logging on */
Expand Down Expand Up @@ -475,7 +475,7 @@ void spawnLogger(
{
/* EnergyPlus has for category always "EnergyPlus message", so we don't report this here */
int len;
const char* signature = "%.2f %s: %s from EnergyPlus: %s\n";
const char* signature = "%.3f %s: %s from EnergyPlus: %s\n";
char msg[SPAWN_LOGGER_BUFFER_LENGTH];

FMUBuilding* bui = (FMUBuilding*)env;
Expand Down Expand Up @@ -526,11 +526,11 @@ void importEnergyPlusFMU(FMUBuilding* bui){
callbacks = jm_get_default_callbacks();

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Calling fmi_import_allocate_context(callbacks = %p)\n", bui->time, bui->modelicaNameBuilding, callbacks);
SpawnFormatMessage("%.3f %s: Calling fmi_import_allocate_context(callbacks = %p)\n", bui->time, bui->modelicaNameBuilding, callbacks);
bui->context = fmi_import_allocate_context(callbacks);

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Getting fmi version, FMUPath = %s, tmpPath = %s.\n", bui->time, bui->modelicaNameBuilding, FMUPath, tmpPath);
SpawnFormatMessage("%.3f %s: Getting fmi version, FMUPath = %s, tmpPath = %s.\n", bui->time, bui->modelicaNameBuilding, FMUPath, tmpPath);
version = fmi_import_get_fmi_version(bui->context, FMUPath, tmpPath);

if (version != fmi_version_2_0_enu){
Expand All @@ -539,7 +539,7 @@ void importEnergyPlusFMU(FMUBuilding* bui){
}

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Parsing xml file %s\n", bui->time, bui->modelicaNameBuilding, tmpPath);
SpawnFormatMessage("%.3f %s: Parsing xml file %s\n", bui->time, bui->modelicaNameBuilding, tmpPath);
bui->fmu = fmi2_import_parse_xml(bui->context, tmpPath, 0);
if(!bui->fmu) {
SpawnFormatError("Error parsing XML for %s.", FMUPath);
Expand All @@ -564,7 +564,7 @@ void importEnergyPlusFMU(FMUBuilding* bui){
callBackFunctions.componentEnvironment = bui;

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Loading dllfmu.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Loading dllfmu.\n", bui->time, bui->modelicaNameBuilding);

jm_status = fmi2_import_create_dllfmu(bui->fmu, fmukind, &callBackFunctions);
if (jm_status == jm_status_error) {
Expand All @@ -575,7 +575,7 @@ void importEnergyPlusFMU(FMUBuilding* bui){
}

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Instantiating fmu.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Instantiating fmu.\n", bui->time, bui->modelicaNameBuilding);

/* Instantiate EnergyPlus */
jm_status = fmi2_import_instantiate(
Expand All @@ -588,7 +588,7 @@ void importEnergyPlusFMU(FMUBuilding* bui){
/* SpawnFormatError("%s", "***** This line is never reached on Windows.\n"); */

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Returned from instantiating fmu.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Returned from instantiating fmu.\n", bui->time, bui->modelicaNameBuilding);
if(jm_status == jm_status_error){
SpawnFormatError("Failed to instantiate building FMU with name %s.", bui->modelicaNameBuilding);
}
Expand Down Expand Up @@ -678,10 +678,10 @@ void generateAndInstantiateBuilding(FMUBuilding* bui){
void (*SpawnFormatError)(const char *string, ...) = bui->SpawnFormatError;

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Entered EnergyPlusZoneAllocateAndInstantiateBuilding.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Entered EnergyPlusZoneAllocateAndInstantiateBuilding.\n", bui->time, bui->modelicaNameBuilding);

if (bui->usePrecompiledFMU)
SpawnFormatMessage("%.2f %s: Using pre-compiled FMU %s\n", bui->time, bui->modelicaNameBuilding, bui->precompiledFMUAbsPat);
SpawnFormatMessage("%.3f %s: Using pre-compiled FMU %s\n", bui->time, bui->modelicaNameBuilding, bui->precompiledFMUAbsPat);

/* Write the model structure to the FMU Resources folder so that EnergyPlus can
read it and set up the data structure.
Expand All @@ -695,7 +695,7 @@ void generateAndInstantiateBuilding(FMUBuilding* bui){

if (bui->usePrecompiledFMU){
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: Copying FMU %s to %s as buildings are identical.\n", bui->time, bui->modelicaNameBuilding, bui->precompiledFMUAbsPat, bui->fmuAbsPat);
SpawnFormatMessage("%.3f %s: Copying FMU %s to %s as buildings are identical.\n", bui->time, bui->modelicaNameBuilding, bui->precompiledFMUAbsPat, bui->fmuAbsPat);
copyBinaryFile(bui->precompiledFMUAbsPat, bui->fmuAbsPat, SpawnFormatError);
}
else
Expand All @@ -710,13 +710,13 @@ void generateAndInstantiateBuilding(FMUBuilding* bui){
importEnergyPlusFMU(bui);

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: FMU is at %p.\n", bui->time, bui->modelicaNameBuilding, bui->fmu);
SpawnFormatMessage("%.3f %s: FMU is at %p.\n", bui->time, bui->modelicaNameBuilding, bui->fmu);

/* Set the value references for all parameters, inputs and outputs */
setValueReferences(bui);

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f %s: FMU returns from generateAndInstantiateBuilding.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: FMU returns from generateAndInstantiateBuilding.\n", bui->time, bui->modelicaNameBuilding);

return;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ void AddInputVariableToBuilding(FMUInputVariable* ptrVar, size_t logLevel){
void (*SpawnError)(const char *string) = bui->SpawnError;

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f, %s: EnergyPlusFMU.c: Adding input variable %lu with name %s\n",
SpawnFormatMessage("%.3f %s: EnergyPlusFMU.c: Adding input variable %lu with name %s\n",
bui->time,
bui->modelicaNameBuilding,
nInputVariables+1,
Expand Down Expand Up @@ -252,7 +252,7 @@ void AddInputVariableToBuilding(FMUInputVariable* ptrVar, size_t logLevel){
checkAndSetVerbosity(bui, logLevel);

if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f, %s: EnergyPlusFMU.c: nZon = %d, nInp = %d, nOut = %d\n",
SpawnFormatMessage("%.3f %s: EnergyPlusFMU.c: nZon = %d, nInp = %d, nOut = %d\n",
bui->time,
bui->modelicaNameBuilding,
bui->nZon, bui->nInputVariables, bui->nOutputVariables);
Expand Down Expand Up @@ -322,34 +322,34 @@ void FMUBuildingFree(FMUBuilding* bui){

if ( bui != NULL ){
if (bui->logLevel >= MEDIUM){
SpawnFormatMessage("%.2f, %s: Entered FMUBuildingFree.", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.2f, %s: In FMUBuildingFree, %p, nZon = %d, nInpVar = %d, nOutVar = %d\n",
SpawnFormatMessage("%.3f %s: Entered FMUBuildingFree.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: In FMUBuildingFree, %p, nZon = %d, nInpVar = %d, nOutVar = %d\n",
bui->time, bui->modelicaNameBuilding,
bui, bui->nZon, bui->nInputVariables, bui->nOutputVariables);
}

/* Make sure no thermal zone or output variable uses this building */
if (bui->nZon > 0 || bui->nInputVariables > 0 || bui->nOutputVariables > 0){
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f, %s: Exiting FMUBuildingFree without changes as building is still used.", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Exiting FMUBuildingFree without changes as building is still used.\n", bui->time, bui->modelicaNameBuilding);
return;
}

/* The call to fmi2_import_terminate causes a seg fault if
fmi2_import_create_dllfmu was not successful */
if (bui->dllfmu_created){
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f, %s: Calling fmi2_import_terminate to terminate EnergyPlus.\n", bui->time, bui->modelicaNameBuilding);
SpawnFormatMessage("%.3f %s: Calling fmi2_import_terminate to terminate EnergyPlus.\n", bui->time, bui->modelicaNameBuilding);
status = fmi2_import_terminate(bui->fmu);
if (status != fmi2OK){
SpawnFormatMessage("%.2f, %s: fmi2Terminate returned with status %s.",
SpawnFormatMessage("%.3f %s: fmi2Terminate returned with status %s.\n",
bui->time, bui->modelicaNameBuilding,
fmi2_status_to_string(status));
}
}
if (bui->fmu != NULL){
if (bui->logLevel >= MEDIUM)
SpawnFormatMessage("%.2f, %s: fmi2_import_destroy_dllfmu: destroying dll fmu.",
SpawnFormatMessage("%.3f %s: fmi2_import_destroy_dllfmu: destroying dll fmu.\n",
bui->time,
bui->modelicaNameBuilding);
fmi2_import_destroy_dllfmu(bui->fmu);
Expand Down
Loading

0 comments on commit e194f4f

Please sign in to comment.