Closed msulprizio closed 4 years ago
This might require a 12.10.0 benchmark to validate adequately. We already have a lot of new features going into 12.9.0.
We should also consider making explicit other unit conversions like kg NO2 -> kg N, etc at the same time.
We should also consider making explicit other unit conversions like kg NO2 -> kg N, etc at the same time.
This update will address species carried in units carbon (i.e. emMW= 12.0g, MolecRatio > 1) throughout the model and not unit conversions. For removing automatic unit conversions from HEMCO, see https://github.com/geoschem/geos-chem/issues/51. At that time we will address the kg N conversions within HEMCO.
See also related issue https://github.com/geoschem/geos-chem/issues/414 discussing units of these species in GEOS-Chem output.
This update has now been merged into the dev/13.0.0 branch. It impacts both GEOS-Chem and HEMCO. The emMW_g
and MolecRatio
variables have been removed from State_Chm
and MW_g
is now used consistently throughout both codes.
Automatic unit conversions to/from units carbon have been removed from HEMCO. New scale factors to convert from units carbon to units species have been added to HEMCO_Config.rc. Those scale factors are applied to fields that are in kgC/m2/s in the source file explicitly in HEMCO_Config.rc for clarity. The MEGAN extension was also updated to remove carbon-based units and use units species instead.
Hi @msulprizio When I use HEMCO-standalone dev/13.0.0, HEMCO_sa_Spec.rc has removed emMW_g and MolecRatio
but I found the SUBROUTINE Model_GetSpecies in hcoi_standalone_mod.F90 still read them
901 ! Read species ID, name, molecular weight, and Henry coefficients 902 ! K0, CR, pKa (in this order). 903 DO I = 1, 8 904 905 ! Get lower and upper index of species ID (first entry in row). 906 ! Skip all leading spaces. 907 UPP = LOW 908 909 DO WHILE( UPP == LOW .AND. LOW /= LNG ) 910 LOW = LOW + 1 911 IF ( LOW > LNG ) THEN 912 WRITE(MSG,101) I, TRIM(DUM) 913 CALL HCO_Error( MSG, RC, THISLOC=LOC ) 914 RETURN 915 ENDIF 916 UPP = NextCharPos( TRIM(DUM), HCO_SPC, LOW ) 917 IF ( UPP < 0 ) UPP = LNG 918 ENDDO
The conflicting settings will cause errors in calculating emissions using hemco_standalone: forrtl: severe (24): end-of-file during read, unit -5, file Internal List-Directed Read
HEMCO_Spec.rc.txt hcoi_standalone_mod.F90.txt
So has hcoi_standalone_mod.F90 not been fix yet for retiring carbon-based units for VOCs? Besides, should I offer species-based units offline emissions when no further use carbon-based in v13.0.0 and later version?
Bests, Hongjian
Thanks for reporting this @hongjianweng. I thought I removed carbon-based units everywhere, but I will double check and push a fix to HEMCO prior to the GEOS-Chem 13.0.0 / HEMCO 3.0.0 release. I created a new issue on the HEMCO repository to track the progress. See https://github.com/geoschem/HEMCO/issues/64.
Also see PR #1067
There has been and continues to be much confusion about carrying some species in units of carbon. Those species include:
To avoid confusion, the GEOS-Chem Steering Committee has requested that we remove carbon-based units and use the actual species molecular weights instead.