Skip to content

Apply gtracer changes from patches/extra_sources#8

Merged
dougiesquire merged 3 commits into2025.02from
gtracer-patches
May 6, 2025
Merged

Apply gtracer changes from patches/extra_sources#8
dougiesquire merged 3 commits into2025.02from
gtracer-patches

Conversation

@dougiesquire
Copy link
Collaborator

The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
…te_from_coupler routine

This allows virtual flux corrections in generic tracer packages
@dougiesquire dougiesquire merged commit 88ef25f into 2025.02 May 6, 2025
18 checks passed
@dougiesquire dougiesquire deleted the gtracer-patches branch May 6, 2025 02:38
dougiesquire added a commit that referenced this pull request Aug 4, 2025
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.
dougiesquire added a commit that referenced this pull request Aug 4, 2025
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Aug 4, 2025
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Aug 4, 2025
…te_from_coupler routine (#8)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Aug 13, 2025
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Aug 13, 2025
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Aug 13, 2025
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Aug 13, 2025
…te_from_coupler routine (#8)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Aug 21, 2025
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Aug 21, 2025
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Aug 21, 2025
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Aug 21, 2025
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Aug 22, 2025
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Aug 22, 2025
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Aug 22, 2025
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Aug 22, 2025
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Nov 27, 2025
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Nov 27, 2025
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Nov 27, 2025
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Nov 27, 2025
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Jan 12, 2026
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Jan 12, 2026
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Jan 12, 2026
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Jan 12, 2026
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Feb 10, 2026
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Feb 10, 2026
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Feb 10, 2026
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Feb 10, 2026
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Feb 10, 2026
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Feb 10, 2026
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Feb 10, 2026
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Feb 10, 2026
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
dougiesquire added a commit that referenced this pull request Feb 17, 2026
In mom-ocean#1664, src/tracer/MOM_generic_tracer.F90 was moved to config_src/external/GFDL_ocean_BGC/MOM_generic_tracer.F90. This was done to simplify COBALT v3 development. However, having MOM_generic_tracer.F90 in the generic_tracers codebase doesnt work when compiling generic_tracers as a library, so we maintain MOM_generic_tracer.F90 in the MOM6 codebase.

This reverts commits 2208dd7 and fcf5fff.
dougiesquire added a commit that referenced this pull request Feb 17, 2026
The NUOPC cap appears to have been written from the MCT cap, which does not include changes needed to successfully register restarts for FMS coupler type. See NCAR/MOM6@73304eb
dougiesquire added a commit that referenced this pull request Feb 17, 2026
These changes provide an initial implementation to allow use of coupled generic tracers with NUOPC-coupled MOM6. This is a bit of a hack as coupling in generic tracers effectively assumes the use of FMScoupler. Broadly, the changes to the NUOPC cap in this commit do the following:

- Initialisation phase: Initialise the FMS coupler type data structures used by generic tracers for handling surface fluxes. Register with NUOPC the additional import fields required by the generic tracer package being used. Export of additional fields is not currently handled.
- Advance phase: Populate the relevant FMS coupler type data structure with fields received from the atmosphere. Calculate the surface fluxes using a modified version of the routine used by FMScoupler.

Restart read/write for the FMS coupler types is also handled. Fields in the FMS coupler types can be overridden using the data_table
dougiesquire added a commit that referenced this pull request Feb 17, 2026
…te_from_coupler routine (#8, #21)

This allows virtual flux corrections in generic tracer packages
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant