Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge bgc obc 3 #7

Open
wants to merge 36 commits into
base: dev/gfdl
Choose a base branch
from

Conversation

nikizadehgfdl
Copy link
Owner

This is a placeholder for merging to the authoritative fork.

nikizadehgfdl and others added 30 commits June 4, 2020 13:06
- This commit is the first attempt to add a (generic) tracer to the OBC.
- The tracer "gtr1" is added from the ocean_bgc module generic_CFC.F90
- It is to imitate "salt" as if it was a passive tracer.
- This update queries the obgc modules (generic_tracers) for the
  OBC source files and var names for each generic tracers and
  initializes the segment fields accoringly.
- With this update the obgc tracers should NOT appear in OBC_SEGMENT_XXX_DATA
  in MOM parameter files (MOM_override).
- The default source file name is obgc_obc.nc
- The default source file var name is the generic_tracer name
- These can be overriden by field_table mechanism. E.g.,

"namelists","ocean_mod","generic_CFC"
cfc11_obc_src_field_name = salt
cfc12_obc_src_field_name = salt
/
- This update adds OBC reservoirs for all obgc tracers that are
registered to have OBC.
- This fixes restart issue with obgc tracers in test runs
Conflicts:
	src/core/MOM_open_boundary.F90
	src/tracer/MOM_generic_tracer.F90
…cers

- This introduces a time scale for updating OBC segment data for OBGC
tracers by a parameter override, e.g., 1 day instead of DT via
  #override UPDATE_OBC_PERIOD_MAX = 86400

- Won't affect T&S or other fields , but it's easy to include any field
  by adding their names to the if() cycle statement
…cers

    - This introduces a time scale for updating OBC segment data for OBGC
    tracers by a parameter override, e.g., 1 day instead of DT via
      #override UPDATE_OBC_PERIOD_MAX = 86400

    - Won't affect T&S or other fields , but it's easy to include any field
      by adding their names to the if() cycle statement
- This update along with an update to generic_tracers_utils.F90 brings
in the capability to set tracer reservoir (inverse) length scales for
individual obgc tracers via ocean_bgc field_table mechanism.
- Tracer resevoir inverse length scales are set as before to 1.0/Lscale_in and
1.0/Lscale_out
- Users should be able to specify a multiplicative factor for each obgc
tracer for each IN or OUT direction in the field_table, e.g.,
alk_obc_lfac_in  = 0.5
alk_obc_lfac_out = 0.75
- The factors are multiplied by the inverse length scales before
reservoir calculations.
- The default factors for all tracers are 1.
- No answer changes unless non-one factors are specified in field_table
nikizadehgfdl and others added 6 commits January 10, 2022 12:16
    - This update along with an update to generic_tracers_utils.F90 brings
    in the capability to set tracer reservoir (inverse) length scales for
    individual obgc tracers via ocean_bgc field_table mechanism.
    - Tracer resevoir inverse length scales are set as before to 1.0/Lscale_in and
    1.0/Lscale_out
    - Users should be able to specify a multiplicative factor for each obgc
    tracer for each IN or OUT direction in the field_table, e.g.,
    alk_obc_lfac_in  = 0.5
    alk_obc_lfac_out = 0.75
    - The factors are multiplied by the inverse length scales before
    reservoir calculations.
    - The default factors for all tracers are 1.
    - No answer changes unless non-one factors are specified in field_table
- This update fixes the restart issues for OBC runs if reservoir length scale is set to zero
- There is still a restart issue when the reservoir length scale is non-zero
  even for the physical (noCOBALT) models that has to be fixed.
- Apply halo updates to h,uhr,vhr before use in tracer reservoir update
    fixes the restart issue for the physical model T&S
    fixes the restart issue for the BGC tracers when segment update period  = DT
- There is still a restart issue for BGC tracers when segment update period > DT
- However the later restart issue is absent when tracer reservoir INPUT length scale is 0
  which points to an issue in segment%tr_Reg%Tr(m)%t
- Apply halo updates to h,uhr,vhr before use in tracer reservoir update
      fixes the restart issue for the physical model T&S
      fixes the restart issue for the BGC tracers when segment update period  = DT
- Fix the restart issue for BGC tracers when segment update period > DT
      fixes the logic for setting the update time (it was not correct)
      Note that DT_OBC_SEG_UPDATE_OBGC has to be an integer multiple of DT and DT_THERM !
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.

2 participants