Skip to content

Commit

Permalink
Merge branch 'njeffery/seaice/update-icepack-bgc-v3-indices' (PR #6457)
Browse files Browse the repository at this point in the history
Adds icepack BGC

Updates the version of icepack to one that includes sea ice BGC

Tested in ocean-sea ice BGC active simulations.

[NML]
[non-BFB] only for tests with biogeochemistry and/or sea ice aerosols
          active
  • Loading branch information
jonbob committed Aug 6, 2024
2 parents ebbf745 + 4c94ac4 commit ebb7301
Show file tree
Hide file tree
Showing 25 changed files with 3,952 additions and 3,341 deletions.
10 changes: 10 additions & 0 deletions cime_config/config_grids.xml
Original file line number Diff line number Diff line change
Expand Up @@ -626,6 +626,16 @@
<mask>IcoswISC30E3r5</mask>
</model_grid>

<model_grid alias="TL319_r05_IcoswISC30E3r5" compset="(DATM|XATM|SATM)">
<grid name="atm">TL319</grid>
<grid name="lnd">r05</grid>
<grid name="ocnice">IcoswISC30E3r5</grid>
<grid name="rof">r05</grid>
<grid name="glc">null</grid>
<grid name="wav">null</grid>
<mask>IcoswISC30E3r5</mask>
</model_grid>

<model_grid alias="TL319_IcosXISC30E3r7" compset="(DATM|XATM|SATM)">
<grid name="atm">TL319</grid>
<grid name="lnd">TL319</grid>
Expand Down
4 changes: 4 additions & 0 deletions components/mpas-seaice/bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,7 @@ if ($ice_bgc eq 'ice_bgc') {
add_default($nl, 'config_use_humics', 'val'=>".true.");
add_default($nl, 'config_use_DON', 'val'=>".true.");
add_default($nl, 'config_use_iron', 'val'=>".true.");
add_default($nl, 'config_couple_biogeochemistry_fields');
} else {
add_default($nl, 'config_use_vertical_biochemistry', 'val'=>".false.");
add_default($nl, 'config_use_vertical_tracers', 'val'=>".false.");
Expand All @@ -694,11 +695,14 @@ if ($ice_bgc eq 'ice_bgc') {
add_default($nl, 'config_use_humics', 'val'=>".false.");
add_default($nl, 'config_use_DON', 'val'=>".false.");
add_default($nl, 'config_use_iron', 'val'=>".false.");
add_default($nl, 'config_couple_biogeochemistry_fields', 'val'=>".false.");
}
add_default($nl, 'config_use_chlorophyll');
add_default($nl, 'config_use_macromolecules');
add_default($nl, 'config_use_modal_aerosols');
add_default($nl, 'config_use_zaerosols');
add_default($nl, 'config_use_atm_dust_file');
add_default($nl, 'config_use_iron_solubility_file');
add_default($nl, 'config_skeletal_bgc_flux_type');
add_default($nl, 'config_scale_initial_vertical_bgc');
add_default($nl, 'config_biogrid_bottom_molecular_sublayer');
Expand Down
3 changes: 3 additions & 0 deletions components/mpas-seaice/bld/build-namelist-section
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ add_default($nl, 'config_use_floe_size_distribution');
# Namelist group: biogeochemistry #
###################################

add_default($nl, 'config_couple_biogeochemistry_fields');
add_default($nl, 'config_use_brine');
add_default($nl, 'config_use_vertical_zsalinity');
add_default($nl, 'config_use_vertical_biochemistry');
Expand All @@ -212,6 +213,8 @@ add_default($nl, 'config_use_DON');
add_default($nl, 'config_use_iron');
add_default($nl, 'config_use_modal_aerosols');
add_default($nl, 'config_use_zaerosols');
add_default($nl, 'config_use_atm_dust_file');
add_default($nl, 'config_use_iron_solubility_file');
add_default($nl, 'config_skeletal_bgc_flux_type');
add_default($nl, 'config_scale_initial_vertical_bgc');
add_default($nl, 'config_biogrid_bottom_molecular_sublayer');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
<config_use_floe_size_distribution>false</config_use_floe_size_distribution>

<!-- biogeochemistry -->
<config_couple_biogeochemistry_fields>false</config_couple_biogeochemistry_fields>
<config_use_brine>false</config_use_brine>
<config_use_vertical_zsalinity>false</config_use_vertical_zsalinity>
<config_use_vertical_biochemistry>false</config_use_vertical_biochemistry>
Expand All @@ -240,6 +241,8 @@
<config_use_iron>false</config_use_iron>
<config_use_modal_aerosols>false</config_use_modal_aerosols>
<config_use_zaerosols>false</config_use_zaerosols>
<config_use_atm_dust_file>false</config_use_atm_dust_file>
<config_use_iron_solubility_file>false</config_use_iron_solubility_file>
<config_skeletal_bgc_flux_type>'Jin2006'</config_skeletal_bgc_flux_type>
<config_scale_initial_vertical_bgc>false</config_scale_initial_vertical_bgc>
<config_biogrid_bottom_molecular_sublayer>0.006</config_biogrid_bottom_molecular_sublayer>
Expand Down Expand Up @@ -349,12 +352,12 @@
<config_mobility_type_proteins>0.0</config_mobility_type_proteins>
<config_mobility_type_dissolved_iron>0.0</config_mobility_type_dissolved_iron>
<config_mobility_type_particulate_iron>0.5</config_mobility_type_particulate_iron>
<config_mobility_type_black_carbon1>0.0</config_mobility_type_black_carbon1>
<config_mobility_type_black_carbon2>0.0</config_mobility_type_black_carbon2>
<config_mobility_type_dust1>0.0</config_mobility_type_dust1>
<config_mobility_type_dust2>0.0</config_mobility_type_dust2>
<config_mobility_type_dust3>0.0</config_mobility_type_dust3>
<config_mobility_type_dust4>0.0</config_mobility_type_dust4>
<config_mobility_type_black_carbon1>-1.0</config_mobility_type_black_carbon1>
<config_mobility_type_black_carbon2>-1.0</config_mobility_type_black_carbon2>
<config_mobility_type_dust1>-1.0</config_mobility_type_dust1>
<config_mobility_type_dust2>-1.0</config_mobility_type_dust2>
<config_mobility_type_dust3>-1.0</config_mobility_type_dust3>
<config_mobility_type_dust4>-1.0</config_mobility_type_dust4>
<config_ratio_C_to_N_diatoms>7.0</config_ratio_C_to_N_diatoms>
<config_ratio_C_to_N_small_plankton>7.0</config_ratio_C_to_N_small_plankton>
<config_ratio_C_to_N_phaeocystis>7.0</config_ratio_C_to_N_phaeocystis>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,14 @@ Default: Defined in namelist_defaults.xml

<!-- biogeochemistry -->

<entry id="config_couple_biogeochemistry_fields" type="logical"
category="biogeochemistry" group="biogeochemistry">
Couple ocean and seaice biogeochemical fields

Valid values: true or false
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_use_brine" type="logical"
category="biogeochemistry" group="biogeochemistry">
Use the brine height tracer
Expand Down Expand Up @@ -1107,6 +1115,22 @@ Valid values: true or false
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_use_atm_dust_file" type="logical"
category="biogeochemistry" group="biogeochemistry">
Read atmospheric dust fluxes from a file

Valid values: true or false
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_use_iron_solubility_file" type="logical"
category="biogeochemistry" group="biogeochemistry">
Read atmospheric dust-iron solubility from a file

Valid values: true or false
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_skeletal_bgc_flux_type" type="char*1024"
category="biogeochemistry" group="biogeochemistry">
Determines the ocean-ice fluxes of biogeochemistry for the bottom1-layer model: in Jin2006, the piston velocity is a function of ice growth/melt rate, in default, the piston velocity is constant
Expand Down
24 changes: 23 additions & 1 deletion components/mpas-seaice/cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ def buildnml(case, caseroot, compname):
decomp_prefix = ''
data_iceberg_file = ''
points_file = ''
dust_iron_file = ''

if ice_grid == 'oEC60to30v3':
decomp_date = '230424'
Expand Down Expand Up @@ -300,6 +301,7 @@ def buildnml(case, caseroot, compname):
decomp_date = '20231120'
decomp_prefix = 'partitions/mpas-seaice.graph.info.'
data_iceberg_file = 'Iceberg_Climatology_Merino.IcoswISC30E3r5.20231120.nc'
dust_iron_file = 'ecoForcingSurfaceMonthly+WetDryDustSolFrac.IcoswISC30E3r5.20240511.nc'
if ice_ic_mode == 'spunup':
if iceberg_mode == 'data':
grid_date = '20240207'
Expand Down Expand Up @@ -357,6 +359,8 @@ def buildnml(case, caseroot, compname):
input_list.write("points = {}/ice/mpas-seaice/{}/{}\n".format(din_loc_root, ice_mask, points_file))
if iceberg_mode == 'data':
input_list.write("data_iceberg = {}/ice/mpas-seaice/{}/{}\n".format(din_loc_root, ice_mask, data_iceberg_file))
if dust_iron_file != '':
input_list.write("dust_iron = {}/ocn/mpas-o/{}/{}\n".format(din_loc_root, ice_mask, dust_iron_file))

#--------------------------------------------------------------------
# Invoke mpas build-namelist - output will go in $CASEBUILD/mpassiconf
Expand Down Expand Up @@ -602,10 +606,19 @@ def buildnml(case, caseroot, compname):
lines.append('<immutable_stream name="ISPOLDailyWOAForcing"')
lines.append(' type="input"')
lines.append(' io_type="{}"'.format(ice_pio_typename))
lines.append(' filename_template="{}/ice/mpas-cice/general/ISPOLDailyWOAForcing_10132022.nc"')
lines.append(' filename_template="{}/ice/mpas-cice/general/ISPOLDailyWOAForcing_10132022.nc"'.format(din_loc_root))
lines.append(' filename_interval="none"')
lines.append(' input_interval="none" />')
lines.append('')
if dust_iron_file != '':
lines.append('<immutable_stream name="DustIronMonthlyForcing"')
lines.append(' type="input"')
lines.append(' io_type="{}"'.format(ice_pio_typename))
lines.append(' filename_template="{}/ocn/mpas-o/{}/{}"'.format(din_loc_root, ice_mask, dust_iron_file))
lines.append(' filename_interval="none"')
lines.append(' input_interval="none" />')
lines.append('')

lines.append('<immutable_stream name="abort_contents"')
lines.append(' type="none"')
lines.append(' filename_template="abort_variables.nc" />')
Expand Down Expand Up @@ -748,6 +761,15 @@ def buildnml(case, caseroot, compname):
lines.append(' <var name="netCarbonFlux"/>')
lines.append(' <var name="absoluteCarbonError"/>')
lines.append(' <var name="relativeCarbonError"/>')
lines.append(' <var name="initialBlackCarbon"/>')
lines.append(' <var name="finalBlackCarbon"/>')
lines.append(' <var name="blackCarbonChange"/>')
lines.append(' <var name="blackCarbonChangeFlux"/>')
lines.append(' <var name="blackCarbonConsAtmBlackCarbonFlux"/>')
lines.append(' <var name="blackCarbonConsOceanBlackCarbonFlux"/>')
lines.append(' <var name="netBlackCarbonFlux"/>')
lines.append(' <var name="absoluteBlackCarbonError"/>')
lines.append(' <var name="relativeBlackCarbonError"/>')
lines.append('</stream>')
lines.append('')
lines.append('<immutable_stream name="conservationCheckRestart"')
Expand Down
Loading

0 comments on commit ebb7301

Please sign in to comment.