ACCESS-NRI / ACCESS-OM2

ACCESS-OM2: ACCESS Ocean-Sea Ice Model
Apache License 2.0
5 stars 0 forks source link

What goes in here? #1

Closed aidanheerdegen closed 1 year ago

aidanheerdegen commented 2 years ago

Need to decide what goes in this repo.

Currently the ACCESS-OM2 "model" has all individual model components and supporting code included as sub-modules. This works well for the COSIMA use-case, which is to have a single version of the model being built and tested at any one time.

Current ACCESS-OM2 build hierarchy:

ACCESS-OM2
     --> mom5
     --> cice5
     --> libaccessom2
          --> oasis3-mct
          --> datetime-fortran
          --> json-fortran

ACCESS-NRI will need the capability to build different versions of the "model". We will require the capability for each "model" version to be compiled with a matrix of supporting libraries (OpenMPI/IntelMPI, netCDF) and compilers (Intel, gcc). This same approach will also have to work seamlessly with other supported models. e.g. ACCESS-ESM-1.5 and ACCESS-CM2.

One minimal possibility is to build libaccessom2 separately, like the other supporting libraries, e.g. netCDF, but keep the main model components as submodules so that it is obvious what the model contains, and to keep the convenience of the submodule hashes tracking model component versions.

Another possibility would be to have this repo just have the code necessary to build the model, but none of the model component code included here directly. This has the advantage of not requiring submodules, which can be confusing.

aidanheerdegen commented 1 year ago

Decided to use space and build all external components separately.

Model components, mom5, cice5 and libacessom2/oasis3-mct will also be built with space. First approach is to use a build script which calls space,