Skip to content

ROMS package compilation options #309

@helenmacdonald

Description

@helenmacdonald

This issue is about the recently added ancoms-roms package

ROMS sets a lot of user defined options pre – compilation and I think the current compilation does not have the best options activated.

The user defined options are set in a .h file (see here for examples) and usually each ROMS configuration has its own executable. This is also true for each of the ROMS test cases.

My spack understanding is still rudimentary but I believe that in package.h we have set the default executable to be for the benchmark testcase, whilst we are setting up the example configuration for an upwelling testcase. The upwelling case is the better example to use for an initial first test case (community convention is to start on this one). The upwelling test case is listed as a spack package variant so I am hoping (but please correct me) that an initial short-term fix may be as easy as changing default=’benchmark’ to default=’upwelling’.

For access-om3 I have access to several variants of the executable to get a mom6 standalone or a mom6+CICE on prerelease:

$ module use /g/data/vk83/prerelease/modules
$ module load access-om3/pr75-1
$ which access-om3-MOM6
/g/data/vk83/prerelease/apps/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/access-om3-nuopc-git.0.4.1_0.4.1-mdludj4azhygq3p2mrfytygz5lgzintj/bin/access-om3-MOM6
$ which access-om3-MOM6-CICE6
/g/data/vk83/prerelease/apps/spack/0.22/release/linux-rocky8-x86_64/intel-2021.10.0/access-om3-nuopc-git.0.4.1_0.4.1-mdludj4azhygq3p2mrfytygz5lgzintj/bin/access-om3-MOM6-CICE6

(pr75-1 is here)

Long-term, is there any way we can do something like this with ROMS? I believe that we could cover most Australian users with a finite number of executables (3-6 ish). Initially (within the next 6 months) we probably only need to have an upwelling test case and @phellipecouto's EAC variant.

Note that the compiled roms executable (romsM) is named the same regardless of which application it was compiled for (@aidanheerdegen mentioned that this may mean it is a little harder to do multiple variants).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions