Coupling HEMCO with other models
This page details technical information useful for developers who wish to couple the HEMCO ("Harmonized" Emissions Component) emissions component to other models.
This work will be made possible by a restructuring of HEMCO, named HEMCO 3.0. We will separate model-specific components such as I/O, Regridding and the model speciation interface, into modular components, and isolate the HEMCO emissions core.
This work is currently being actively worked on by the GEOS-Chem Support Team and Haipeng Lin (Harvard) as part of coupling GEOS-Chem with the CESM model.
- HEMCO Repository: geoschem/HEMCO at GitHub
- Description paper: Keller et al. (2014)
- The HEMCO User's Guide
- HEMCO versions
HEMCO 3.0 Interfaces Overview
Reading the HEMCO configuration file
This is a three-step process. First initialize the configuration object (HcoConfig):
call ConfigInit(HcoConfig, HMRC, nModelSpecies=nSpc)
You have to register the species first in addition to some other HcoConfig properties:
HcoConfig%amIRoot = masterproc HcoConfig%MetField = 'MERRA2' HcoConfig%GridRes = '' HcoConfig%nModelSpc = nHcoSpc HcoConfig%nModelAdv = nHcoSpc ! # of adv spc? do N = 1, nHcoSpc HcoConfig%ModelSpc(N)%ModID = N ! model id HcoConfig%ModelSpc(N)%SpcName = trim(solsym(N)) enddo
Then open the configuration file in two phases; after phase 1, initialize the log file on the master process:
call Config_ReadFile(HcoConfig%amIRoot, HcoConfig, HcoConfigFile, 1, HMRC, IsDryRun=.false.) ! Open the log file if(masterproc) then call HCO_LOGFILE_OPEN(HcoConfig%Err, RC=HMRC) endif call Config_ReadFile(HcoConfig%amIRoot, HcoConfig, HcoConfigFile, 2, HMRC, IsDryRun=.false.)