E3SM-Project / E3SM-Project/scorpio

ADIOS I/O type Limitations/On-going work

Open
#553 0 comments 0 reactions 1 assignee Claimed by @dqwu View on GitHub
ADIOS enhancement
Dominant language
C++
Stars
22
Forks
20
Avg merge
12d 19m
Merged PRs (30d)
1

Description

-- DRAFT --
**ADIOS I/O TYPE LIMITATIONS**
**SCORPIO**
* Reading/writing with different I/O decompositions does not work
* Reading/writing with different number of MPI processes does not work
* Open to update a variable does not work
* Open to append an existing file does not work
* Overwriting existing attributes (with multiple pio_put_att calls on the same attribute) does not work
* Get of variables with dimensions >= 4D is not supported
* Redefine mode (to rename or delete an existing variable or attribute) is not supported
* To put/get a NetCDF variable (the variable type does not matter), the write buffer for pio_get_var and the read buffer for pio_get_var must use the same data type. If we use a double type write buffer to put a NC_INT variable and later use a float type read buffer to get it, the read buffer would contain incorrect values (missing required double to float type conversion)

**ESMCI CIME**
* CIME checks for NetCDF files for restart runs (requires files in the "*.nc" extension). ADIOS "files" have "*.bp" extension.
** As a workaround one can create dummy "*.nc" files corresponding to "*.bp" files to circumvent the CIME check
UPDATE: For ADIOS file (BP directory) foo.nc.bp SCORPIO now creates a corresponding symbolic link foo.nc

**E3SM**
* MPAS does not support read using the ADIOS I/O type (the changes in env_run.xml XML file is not reflected in MPAS stream files)

**SUGGESTED ENHANCEMENTS**
**E3SM**
* Allow E3SM/SCREAM to write restart files and history files using different I/O types (e.g. Write restarts using ADIOS while writing history files using PnetCDF)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.