* Implements a module to simulate CFCs via NUOPC cap #189
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a new module (MOM_CFC_cap) that can used to simulate chlorofluorocarbons (CFCs) tracers via drivers/caps (commit 3aade32). Only the NUOPC cap is supported at this time, but the module can be used . Additional details on this implemetation are provided below. This PR also includes a bug fix to the tridiagonal solvers used in
subroutines
tracer_vertdiff_Eulerian
andtracer_vertdiff
(commit 276954f, which solves https://github.com/NOAA-GFDL/MOM6/issues/1415). This bug fix will change answers in configurations using eithertracer_vertdiff_Eulerian
ortracer_vertdiff
.Summary
The following fields are needed to compute the CFCs fluxes into the ocean:
Sea-ice fraction, wind speed squared, and atmospheric pressure are stored in the
fluxes
type, while the sea surface concentration of CFC-11 and CFC-12 are stored in thesurface
type. These types are passed to the subroutineCFC_cap_fluxes
, which is called from subroutineconvert_IOB_to_fluxes
. InCFC_cap_fluxes
, atmospheric concentrations of CFC-11 and CFC-12 can either be read from a netCDF file or generated internally (TODO).CFC_cap_fluxes
also orchestrates the calculation of the CFC fluxes, including calls to subroutines that compute solubility and Schmidt number. The calculations are carried out in gravimetric units, but there is the option to output CFCs using volumetric units, which is what the Climate Model Output Rewriter (CMOR) protocol recommends. Unit tests for the Schmidt number calculation (subroutinecomp_CFC_schmidt
) and the solubility function (subroutineget_solubility
) have been added.Methodology
Chlorofluorocarbons (CFCs) tracers are implemented following the Ocean
Model Intercomparison Project (OMIP) protocol (Orr et al., 2017; doi:10.5194/gmd-10-2169-2017). The solubility function at 1 atm comes from Warner and Weiss (1985); doi:10.1016/0198-0149(85)90099-8, with coefficients for alpha (mol kg-1 atm-1) derived from Table 5 in this manuscript. The Schmidt numbers and gas exchange formulations follow Wanninkhof (2014); doi:10.4319/lom.2014.12.351.
New diagnostics
Validation
To validate this implementation, we run CESM/MOM6 forced with JRA-55 starting in January of 1985 and compare the results against a similar run done with POP2. The plot below shows SST versus CFC11 concentration (monthly averages) taken in the North Pacific subtropical gyre during June 1985. Despite the fact that the CFCs concentrations in the ocean interior have not been equilibrated in the CESM/MOM6 run, both simulations show a very similar relation between SST and CFC11.
Commit 276954f will change answers in experiments where USE_OCMIP2_CFC = True