Skip to content

Allow reusable variable in the platform yaml #681

@uramirez8707

Description

@uramirez8707

Is your feature request related to a problem? Please describe.
It may be desired to store platform specific variables that can be reference in the model/compile yaml.

For example, to configure MOM6 correctly, it has something like

ln -s $(GFDL_O_INPUTS) .datasets

The value of GFDL_O_INPUTS changes depending on the platform, so fre needs a way to control that.

Describe the solution you'd like
Allow the platform yaml to store reusable variables. For example

   - name: ncrc5.intel25
     compiler: intel
     envSetup: ["source $MODULESHOME/init/sh",
                "module load intel-classic/2025.2",
                "module load cray-hdf5/1.12.2.11",
                "module load cray-netcdf/4.9.0.9",
                "module load cray-libsci/24.11.0"]
     mkTemplate: "/ncrc/home2/fms/local/opt/fre-commands/bronx-22/site/ncrc5/intel-oneapi.mk"
     modelRoot: !join ["/gpfs/f5/", *PROJECT, "/scratch/${USER}/", *FRE_STEM]
     fre_properties:
      - &GFDL_O_INPUTS "SOME/PATH/IN/F5"

and allow them to be used in the compile/model yaml.

This will require changing the schema.

Describe alternatives you've considered
N/A

Additional context
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions