Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HEMCO PIO module #4

Open
jimmielin opened this issue Jan 23, 2020 · 0 comments
Open

HEMCO PIO module #4

jimmielin opened this issue Jan 23, 2020 · 0 comments
Labels
enhancement New feature or request

Comments

@jimmielin
Copy link
Collaborator

jimmielin commented Jan 23, 2020

Task description

Develop a PIO module for HEMCO.

Initialization

DOF needs to be pre-generated for PIO to work; need to look at restart file examples to see how this is approached.

Read routines

Need to implement a HEMCO-compatible IO routine which reads netCDF gridded data (lat-lon for now) and regrid to HEMCO internal grid structure (ESMF_Grid).

It will implement a routine with this signature:

SUBROUTINE HCOIO_Read( am_I_Root, HcoState, Lct, RC )

And basically write data on this CPU from this file path: Lct%Dct%Dta%ncFile (ListContainer -> DataContainer -> Data -> ncFile array) to this array structure (also needs to be allocated in this IO routine):

! 3D, Lct%Dct%Dta%SpaceDim == 3
Lct%Dct%Dta%V3(1)%Val => ...
! 2D, Lct%Dct%Dta%SpaceDim == 2
Lct%Dct%Dta%V2(1)%Val => ...

A good starting point to look at this is the ESMF module: https://github.com/geoschem/HEMCO/blob/master/src/Core/hcoio_read_esmf_mod.F90

For detailed description of the data structure the standard module provides more insight:
https://github.com/geoschem/HEMCO/blob/master/src/Core/hcoio_read_std_mod.F90

The call interfaces / module names of these modules will be unified in HEMCO 3.0, where they implement the same interface and one is chosen at compile time.

Code

This will be implemented inside HEMCO in order not to introduce circular dependencies - it will likely go into HEMCO/src/IO/hcoio_read_cesm_mod.F90 or something like that, replacing the GEOS-Chem serial IO HEMCO/src/IO/hcoio_read_std_mod.F90.

jimmielin added a commit that referenced this issue Apr 21, 2021
Export fields on first call to HCO_GC_RUN
@jimmielin jimmielin added the enhancement New feature or request label Apr 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant