Coupling HEMCO with other models

From Geos-chem
Jump to: navigation, search

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.

Useful Resources

Technical Notes

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))

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)

call Config_ReadFile(HcoConfig%amIRoot, HcoConfig, HcoConfigFile, 2, HMRC, IsDryRun=.false.)

Defining Species

Defining Grid

Defining Met Fields for HEMCO Extensions

Running HEMCO

Retrieving emissions data from HEMCO