Conversation
ffc3905 to
0138093
Compare
05b0997 to
c10b30a
Compare
f9fc997 to
1d8d61f
Compare
GCC was updated from 13.x to 14.x to allow for passing a factory procedure with a polymorphic function result to each test case subroutine. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118372 for more details.
1d8d61f to
7f8d450
Compare
Whyborn
left a comment
There was a problem hiding this comment.
A lot of the internal functions are missing any commentary. I found a lot of the routines not particularly intuitive, so some commentary explaining human-readably what the routines are doing would be a big help I think. Doesn't have to be public facing documentation, more like internal developer comments.
I find the tests not very "human"- a lot of abstractions, that I didn't find very easy to reason about exactly what they're doing. This could probably be solved by some commentary as well.
d1767af to
87f98fd
Compare
|
Thanks for taking a look Lachlan, I forgot to add docs to cable_netcdf_internal.F90. I realised cable_netcdf_internal.F90 was only really necessary for initialising the I/O handler, so I've trimmed down that file to only include the I/O handler initialisation and renamed it to cable_netcdf_init.F90 in 0f30366. |
This change brings in the interface layer for working with the NetCDF Fortran and ParallelIO (PIO) libraries in CABLE. PIO allows for each MPI rank to participate in I/O operations collectively and is a first step in adding MPI support to the serial offline driver, and eventually, to replace the legacy MPI implementation (#358).
To keep CABLE dependencies as minimal as possible for running in serial mode (without MPI), the interface layer is designed such that PIO support is optional.
To build CABLE with PIO, PIO version 2.6.8 or greater is required.
Type of change
Please delete options that are not relevant.
Checklist
Testing
📚 Documentation preview 📚: https://cable--706.org.readthedocs.build/en/706/