E3SM-Project / scorpio

A high-level Parallel I/O Library for structured grid applications
18 stars 16 forks source link

Build ESMF with SCORPIO #506

Open jayeshkrishna opened 1 year ago

jayeshkrishna commented 1 year ago

Make sure that we can build ESMF with SCORPIO (as the I/O library).

This change might include adding some missing interfaces (available in PIO) in SCORPIO.

jayeshkrishna commented 1 year ago

@xylar noticed that he had build issues when using ESMF with SCORPIO as the underlying I/O library instead of PIO. Since SCORPIO is being used by MPAS, using SCORPIO with ESMF in this setup makes sense.

    2318    /lcrc/group/e3sm/ac.xylar/spack_temp/ac.xasay-davis/spack-stage/sp
             ack-stage-esmf-8.4.0-ixufgdixfc2syb5ib5psvd2tp75fqj3g/spack-src/sr
             c/Infrastructure/IO/include/ESMCI_IO_Handler.h(126): warning #858:
              type qualifier on return type is meaningless
     2319          const int getNtiles(void) const { return ntiles; }
     2320          ^
     2321    
  >> 2322    /lcrc/group/e3sm/ac.xylar/spack_temp/ac.xasay-davis/spack-stage/sp
             ack-stage-esmf-8.4.0-ixufgdixfc2syb5ib5psvd2tp75fqj3g/spack-src/sr
             c/Infrastructure/Mesh/src/ESMCI_Mesh_FileIO.C(219): error: identif
             ier "PIOc_free_iosystem" is undefined
     2323          piorc = PIOc_free_iosystem(pioSystemDesc);

  >> 2326    /lcrc/group/e3sm/ac.xylar/spack_temp/ac.xasay-davis/spack-stage/sp
             ack-stage-esmf-8.4.0-ixufgdixfc2syb5ib5psvd2tp75fqj3g/spack-src/sr
             c/Infrastructure/Mesh/src/ESMCI_ESMFMesh_Util.C(240): error: ident
             ifier "PIOc_InitDecomp_ReadOnly" is undefined
     2327          piorc = PIOc_InitDecomp_ReadOnly(pioSystemDesc, PIO_BYTE, 1,
              &gdimlen, num_elems, nec_offsets, &nec_iodesc,
     2328                  ^
xylar commented 1 year ago

I'm specifically interested in ESMF 8.4.0 (and presumably later versions).