AtChem / AtChem2

Atmospheric chemistry box-model for the MCM
MIT License
58 stars 23 forks source link

incompatible with MCMv3.3.1 #451

Closed motimace closed 3 years ago

motimace commented 3 years ago

Because of change in MCMv3.3.1, there are some problems when processing the .fac file.

image

motimace commented 3 years ago

I am trying to delete the following text in the chemical mechanism file. I do not know whether it is appropriate.

KNO = KRO2NO*NO ;   
KHO2 = KRO2HO2*HO2*0.706 ;  
KRO2 = 1.26D-12*RO2 ;  
KNO3 = KRO2NO3*NO3 ;  
KTR = KNO + KHO2 + KRO2 + KNO3 ;  
K16ISOM = (KTR*5.18D-04*EXP(1308/TEMP)) +(2.76D07*EXP(-6759/TEMP)) ;
spco commented 3 years ago

HI @motimace - could you share the full .fac file you are wishing to parse please?

motimace commented 3 years ago

Hi @spco

It is based on MCM v3.3.1. http://mcm.york.ac.uk/roots.htt

mcm_71v3.3.1.fac.zip

Thank you.

spco commented 3 years ago

Hi @motimace - so this is failing because 'NO' is not declared on the left hand side of any of the equations. I'm not sure whether MCM .fac files have that as a requirement, or whether it's just an issue with our parsing of it. Either way, you should be able to fix this in your MCM file for now by adding

NO = NO ;
HO2 = HO2 ;
NO3 = NO3 ;

above the first line referencing NO - line 738 I think.

Please let me know if that fixes your issue?

rs028 commented 3 years ago

@motimace, this calculation:

KNO = KRO2NO*NO ;
KHO2 = KRO2HO2*HO2*0.706 ;
KRO2 = 1.26D-12*RO2 ;
KNO3 = KRO2NO3*NO3 ;
KTR = KNO + KHO2 + KRO2 + KNO3 ;
K16ISOM = (KTR*5.18D-04*EXP(1308/TEMP)) +(2.76D07*EXP(-6759/TEMP)) ;

which is causing your error is not part of the MCM, as far as I know it. Is it your addition? The rate coefficient K16ISOM does not seem to be used anywhere in the mechanism you sent, in which case you can simply delete those lines if you are not using them.

motimace commented 3 years ago

Hi @motimace - so this is failing because 'NO' is not declared on the left hand side of any of the equations. I'm not sure whether MCM .fac files have that as a requirement, or whether it's just an issue with our parsing of it. Either way, you should be able to fix this in your MCM file for now by adding

NO = NO ;
HO2 = HO2 ;
NO3 = NO3 ;

above the first line referencing NO - line 738 I think.

Please let me know if that fixes your issue?

Be all right. Thank you.

motimace commented 3 years ago

@motimace, this calculation:

KNO = KRO2NO*NO ;
KHO2 = KRO2HO2*HO2*0.706 ;
KRO2 = 1.26D-12*RO2 ;
KNO3 = KRO2NO3*NO3 ;
KTR = KNO + KHO2 + KRO2 + KNO3 ;
K16ISOM = (KTR*5.18D-04*EXP(1308/TEMP)) +(2.76D07*EXP(-6759/TEMP)) ;

which is causing your error is not part of the MCM, as far as I know it. Is it your addition? The rate coefficient K16ISOM does not seem to be used anywhere in the mechanism you sent, in which case you can simply delete those lines if you are not using them.

I used to build .fac file based on MCM v3.2. The new lines are in MCM v3.3.1. I am confused about these rate coefficients that are added but not be used.

spco commented 3 years ago

It's a bit of an odd one if I'm honest. Up to this point, all of the Complex Reactions have depended only on previously-defined Complex Reactions and environment variables like TEMP. In this case, it's depending on NO etc, and that breaks our logic that previously assumed they'd be defined as the left-hand-side of some reaction.

It looks like this is indeed in the basic 3.3.1, and so probably needs some fix from our end - but it might be worth clarifying with Leeds why this change, especially as K16ISOM indeed doesn't seem to be used elsewhere - so it's either of no use or of use only as a product to monitor in its own right.

rs028 commented 3 years ago

I will ask about it. For the moment I think it is safe to manually delete those lines from the fac file, since they are not being used in the mechanism, and no need to modify our scripts.

Will update when I have further info.

rs028 commented 3 years ago

The K16ISOM complex rate coefficient is not part of the MCM but of its condensed version CRI (http://cri.york.ac.uk/). I think it ended up in the MCM database by mistake and probably will be removed soon. Therefore I think we can close this issue with the recommendation to simply delete the lines:

KNO = KRO2NO*NO ;
KHO2 = KRO2HO2*HO2*0.706 ;
KRO2 = 1.26D-12*RO2 ;
KNO3 = KRO2NO3*NO3 ;
KTR = KNO + KHO2 + KRO2 + KNO3 ;
K16ISOM = (KTR*5.18D-04*EXP(1308/TEMP)) +(2.76D07*EXP(-6759/TEMP)) ;

from the .fac file (if present).

Going forward, however, it is something we need to keep in mind, both because people may want to use AtChem with CRI and because similarly formatted rate coefficients may be eventually implemented in the MCM in the future.