Jonathan Cooper wrote: > * Andrew Miller <[EMAIL PROTECTED]> [2006-10-24 22:51]: > >> Jonathan Cooper wrote: >> >>> The third is the handling of division. As I understand it, all >>> numbers in CellML models are implicitly double valued. However, for >>> the XML fragment >>> <apply><eq/> >>> <ci>V</ci> >>> <apply><divide/> >>> <cn cellml:units="volt">1</cn> >>> <cn cellml:units="dimensionless">2</cn> >>> </apply> >>> </apply> >>> the CCGS generates >>> VARIABLES[0] = (1/2); >>> >> I have now fixed the CCGS to always put decimal points on values taken >> from cn attributes, and likewise for unit conversion factors / offsets. >> > > Does the CCGS perform unit conversion then? It doesn't appear to for my > quick testcase: > <variable name="time" units="millisecond"/> > <apply><eq/> > <ci>time</ci> > <apply><divide/> > <cn cellml:units="second">1</cn> > <cn cellml:units="dimensionless">2</cn> > </apply> > </apply> > It performs unit conversion at the connections, but not within equations (this is what is required by the CellML specification, although it says that software is allowed to also do conversions at the connections). It would be very bad practice, of course, for a modeller to rely on simulators performing conversions in the equations, because it wouldn't be guaranteed to work in CellML conformant processing software. > > Another thing you might want to look at in the Plone interface. I had an > error in an input model (<bvar>t</bvar> instead of > <bvar><ci>t</ci></bvar>) and the error message I got back was an > AttributeError with value rawCode, which isn't particularly helpful! > I agree that displaying Python exceptions is bad practice, and we should catch them and display something cleaner. However, CCGS isn't supposed to be a validator, and so it doesn't go to a lot of effort to explain what went wrong if its assumptions are violated (this could be worked on, except there are technical issues with attaching information to exceptions in our infrastructure). The best we can really hope for at the moment is a page suggesting that the user validate their CellML (once we get a proper validation service in the CellML API package, we could do this for them, and show the error).
Best regards, Andrew _______________________________________________ cellml-discussion mailing list [email protected] http://www.cellml.org/mailman/listinfo/cellml-discussion
