Posted Tue, 29 Jan 2019 21:13:27 GMT by María Belén Arévalo Durazno
Good afternoon,

I am trying to modify the ASM1Temp removing the nitrification and denitrification to create a model only for carbon removal (is that possible?). For that I created a new catergory and instance and modified the Gujer Matrix following the steps of the "Create a new Category" and "Add a New Component" youtube videos. But, when I check if there are not mistakes by clicking on the button "Chek Instance", the system gives me an error (I attached the screenshot). I saw that in one of those videos, the autor says that in order to check successfully the instance, some changes of the library  have to be made first, and that he will explain those changes in another video. I looked for that video in youtube but I couldn´t find it. I read here in the forum that someone else had similiar problems and in the reply there is a link to the "Work on the Conversion Model (Gujer Matrix)" but it is not available anymore, the link goes to the "Non-ideal mixing: tracer test" video.
Thus, I kindly ask if anyone could provide the video, or the steps that I should follow to solve the problem. Also, if I am correct trying to model the carbon removal by taking away the nitrification and denitrification because the error is related to the S_NO, so maybe the concept I am applying is wrong.

Posted Mon, 04 Feb 2019 13:07:12 GMT by Enrico Remigi WEST Product Owner
the error indicates that, in the scope of your new instance, S_NO is unknown to the compiler.
I assume you have:
1) deleted the S_NO component from the Components vector
2) taken care of all state and interface variables that may use S_NO
And this is all correct, of course.

Now, the only way it would complain about a missing definition (of the OBJ S_NO) for your new instance is that some models are available for the new instance too, without being properly 'protected'.
I can foresee 3 situations:

1) A model is valid only for certain instances, i.e. wrapped within #ifdef explicitly enumerating the instances
Such model can perfectly use S_NO, but will not be available for your instance.
So, no problem here!

2) A model is valid for all 'standard' instances, i.e. wrapped within #ifdef StandardCategoryModels; and contains individual sections for each Instance, e.g. #if (defined ASM1Temp), #if (defined ASM2ModTemp), etc.
Your instance check will fail, because that particular model will be missing the section to be used for your instance.
But the error message will be different ...

3) A model is valid for all 'standard' instances, i.e. wrapped within #ifdef StandardCategoryModels (as for 2); but does not contain individual sections for each Instance.
It may very well be that it uses S_NO that is not defined for your instance.
I believe this will yield the error message you report.

Posted Thu, 07 Feb 2019 15:56:42 GMT by María Belén Arévalo Durazno
Thank you very much for your reply.
I am not sure if I understood it correctly: I can modify something in the wwtp.definitions.msl file to correct my error?
I am trying to do something about it, but in the wwtp.definitions.msl file I can't find the #ifdef StandardCategoryModels, and I don't know what to do exactly. Could you please help me with that?
Thanks in advance.

Posted Fri, 08 Feb 2019 17:15:12 GMT by Enrico Remigi WEST Product Owner
no, not in the definitions file - that contains a list of include statements for the different instances ...
In the definitions file for your new Instance.
Right before the definitions of the OBJ IndexOf ... you should see the #define StandardCategoryModels.
At least if you're using the latest version, 2017.

In any case, you should be able to perform a string search throughout the library and identify the #define statement to delete.

If you should not succeed, please contact our tech support.

You must be signed in to post in this forum.