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.

Overview

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

Defining Species

Defining Grid

Defining Met Fields for HEMCO Extensions

Running HEMCO

Retrieving emissions data from HEMCO