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).
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):
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.
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:
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):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 IOHEMCO/src/IO/hcoio_read_std_mod.F90
.