geoschem / geos-chem

GEOS-Chem "Science Codebase" repository. Contains GEOS-Chem science routines, run directory generation scripts, and interface code. This repository is used as a submodule within the GCClassic and GCHP wrappers, as well as in other modeling contexts (external ESMs).
http://geos-chem.org
Other
162 stars 155 forks source link

[FEATURE REQUEST] Remove NcdfUtil from this repository and use as a submodule in GCClassic wrapper instead #465

Open msulprizio opened 3 years ago

msulprizio commented 3 years ago

NcdfUtil is used by both GEOS-Chem and HEMCO. Instead of being embedded in both code repositories and having duplicate code, we should remove NcdfUtil from https://github.com/geoschem/geos-chem and https://github.com/geoschem/hemco and add as a Git submodule in https://github.com/geoschem/geos-chem-classic.

NcdfUtil is already a separate Github repository (https://github.com/geoschem/ncdfutil) and is up-to-date with the code currently in both GEOS-Chem and HEMCO as of today (29 Sep 2020).

lizziel commented 3 years ago

Will HEMCO standalone then need a wrapper too?

msulprizio commented 3 years ago

Perhaps. We can also think about making it a submodule in HEMCO standalone and/or having a compile time switch to tell HEMCO when to compile NcdfUtil.

lizziel commented 3 years ago

Okay, we can also think through the implications for other projects using HEMCO and how a new dependency will fit into their design (GEOS, CESM, NOAA models).

lizziel commented 3 years ago

But perhaps none of them use NcdfUtil so we could start by blocking it off with MODEL_CLASSIC as a test.

yantosca commented 3 years ago

I can try to separate out NcdfUtil for 13.1.0. Also I can add the Cmake build sequence.

msulprizio commented 3 years ago

I have removed the 13.1.0 milestone for now. This item can go in when it is ready, but may not necessarily be a top priority.

yantosca commented 1 year ago

This would require a bit of work in order to handle potential namespace confusion. Leave it for later.