Skip to content

Commit ce9cfe2

Browse files
authored
fix bug in ocn2glc_coupling and add blom (#484)
* add new functionality for transferring dms,bfr,n2o and nh3 from ocn to atm (only valid for BLOM) * added blom configurations * fixed bug in that advertising for So_t_depth and So_s_depth was never happening * addressed issues isn PR review Co-authored-by: Mariana Vertenstein <mvertens@ucar.edu>
1 parent e4a5e58 commit ce9cfe2

File tree

3 files changed

+117
-11
lines changed

3 files changed

+117
-11
lines changed

cime_config/config_component_cesm.xml

+68-10
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,54 @@
141141
</desc>
142142
</entry>
143143

144+
<entry id="DMS_EMIS_OCN">
145+
<type>logical</type>
146+
<default_value>FALSE</default_value>
147+
<valid_values>TRUE,FALSE</valid_values>
148+
<group>run_coupling</group>
149+
<file>env_run.xml</file>
150+
<desc>
151+
Activates DMS fluxes to be sent from ocn to atm.
152+
Currently this is only available with BLOM ocean component.
153+
</desc>
154+
</entry>
155+
156+
<entry id="BRF_EMIS_OCN">
157+
<type>logical</type>
158+
<default_value>FALSE</default_value>
159+
<valid_values>TRUE,FALSE</valid_values>
160+
<group>run_coupling</group>
161+
<file>env_run.xml</file>
162+
<desc>
163+
Activates Bromoform fluxes to be sent from ocn to atm.
164+
Currently this is only available with BLOM ocean component.
165+
</desc>
166+
</entry>
167+
168+
<entry id="N2O_EMIS_OCN">
169+
<type>logical</type>
170+
<default_value>FALSE</default_value>
171+
<valid_values>TRUE,FALSE</valid_values>
172+
<group>run_coupling</group>
173+
<file>env_run.xml</file>
174+
<desc>
175+
Activates N2O fluxes to be sent from ocn to atm.
176+
Currently this is only available with BLOM ocean component.
177+
</desc>
178+
</entry>
179+
180+
<entry id="NH3_EMIS_OCN">
181+
<type>logical</type>
182+
<default_value>FALSE</default_value>
183+
<valid_values>TRUE,FALSE</valid_values>
184+
<group>run_coupling</group>
185+
<file>env_run.xml</file>
186+
<desc>
187+
Activates NH3 fluxes to be sent from ocn to atm.
188+
Currently this is only available with BLOM ocean component.
189+
</desc>
190+
</entry>
191+
144192
<entry id="CPL_USER_MODS">
145193
<type>char</type>
146194
<valid_values></valid_values>
@@ -190,21 +238,23 @@
190238
<!-- =================================================== -->
191239
<value compset="_DATM.*_DICE.*_POP2">24</value>
192240
<value compset="_DATM.*_DICE.*_MOM6">24</value>
193-
<!-- TODO: currently a NUOPC runseqence cannot be generated with the ATM_NCPL < OCN_NCPL - as is the case -->
194-
<!-- with the POP2 C compset run sequence - for now will set these to be the same as MOM6 -->
241+
<value compset="_DATM.*_DICE.*_BLOM">24</value>
242+
<!-- NOTE: currently a NUOPC runseqence cannot be generated with the ATM_NCPL < OCN_NCPL -->
195243
<!-- =================================================== -->
196244
<!-- G compsets -->
197245
<!-- =================================================== -->
198246
<value compset="_DATM.*_SLND.*_CICE.*_POP2">24</value>
199247
<value compset="_DATM.*_SLND.*_CICE.*_POP2" grid="oi%tx0.1v3">144</value>
200248
<value compset="_DATM.*_SLND.*_CICE.*_MOM6">24</value>
249+
<value compset="_DATM.*_SLND.*_CICE.*_BLOM">24</value>
201250
<value compset="_DATM.*_CICE.*_DOCN">24</value>
202251
<!-- =================================================== -->
203252
<!-- C/G compsets -->
204253
<!-- =================================================== -->
205254
<value compset="_DATM.*_DOCN%US20">24</value>
206255
<value compset="_DATM%CPLHIST.+POP\d">48</value>
207256
<value compset="_DATM%CPLHIST.+MOM\d">48</value>
257+
<value compset="_DATM%CPLHIST.+BLOM\d">48</value>
208258
<!-- =================================================== -->
209259
<!-- atm dependent resolutions (primarily CAM) -->
210260
<!-- =================================================== -->
@@ -279,6 +329,7 @@
279329
<default_value>$ATM_NCPL</default_value>
280330
<values match="last">
281331
<value compset="_MOM6">24</value>
332+
<value compset="_BLOM">24</value>
282333
<value compset="_POP2" grid="oi%gx3v7">1</value>
283334
<value compset="_POP2" grid="oi%gx1v6">24</value>
284335
<value compset="_POP2" grid="oi%gx1v7">24</value>
@@ -303,6 +354,7 @@
303354
<value compset="_SGLC">$ATM_NCPL</value>
304355
<value compset="_XGLC">$ATM_NCPL</value>
305356
<value compset="_MOM6">1</value>
357+
<value compset="_BLOM">1</value>
306358
</values>
307359
<group>run_coupling</group>
308360
<file>env_run.xml</file>
@@ -336,11 +388,13 @@
336388
<values match="last">
337389
<value compset="_DATM.*_POP2.*_DROF" grid="oi%gx3v7">1</value>
338390
<value compset="_DATM.*_MOM6.*_DROF" >$ATM_NCPL</value>
391+
<value compset="_DATM.*_BLOM.*_DROF" >$ATM_NCPL</value>
339392
<value compset="_DATM.*_DOCN%SOM" >$ATM_NCPL</value>
340393
<value compset="_DATM.*_SLND.*_DICE.*_DOCN" >$ATM_NCPL</value>
341394
<value compset="_MIZUROUTE_" >1</value>
342395
<value compset="_DATM%CPLHIST.+POP\d" >8</value>
343396
<value compset="_DATM%CPLHIST.+MOM\d" >8</value>
397+
<value compset="_DATM%CPLHIST.+BLOM\d" >8</value>
344398
<value compset="_XATM.*_XLND.*_XICE.*_XOCN" >$ATM_NCPL</value>
345399
<value compset="_DLND.*_CISM\d" >1</value>
346400
<value compset="_XROF" >$ATM_NCPL</value>
@@ -372,13 +426,14 @@
372426
<values match="last">
373427
<value compset="DATM.+POP\d">TRUE</value>
374428
<value compset="DATM.+MOM\d">TRUE</value>
429+
<value compset="DATM.+BLOM\d">TRUE</value>
375430
<value compset="DATM.+DOCN%IAF">TRUE</value>
376431
<value compset="DATM%CPLHIST.+POP\d">FALSE</value>
377432
</values>
378433
<group>run_component_cpl</group>
379434
<file>env_run.xml</file>
380435
<desc>
381-
Only used for compsets with DATM and POP (currently C, G and J):
436+
Only used for compsets with DATM and [POP or MOM] (currently C, G and J):
382437
If true, compute albedos to work with daily avg SW down
383438
If false (default), albedos are computed with the assumption that downward
384439
solar radiation from the atm component has a diurnal cycle and zenith-angle
@@ -419,14 +474,15 @@
419474
<valid_values>TIGHT,OPTION1,OPTION2</valid_values>
420475
<default_value>TIGHT</default_value>
421476
<values match="last">
422-
<value compset="_DATM.*_DOCN%SOM" >OPTION2</value>
423-
<value compset="_POP2" >OPTION2</value>
424-
<value compset="_MOM6" >OPTION1</value>
425-
<value compset="_POP2" grid="oi%gx1v6" >OPTION1</value>
426-
<value compset="_POP2" grid="oi%gx1v7" >OPTION1</value>
477+
<value compset="_DATM.*_DOCN%SOM" >OPTION2</value>
478+
<value compset="_POP2" >OPTION2</value>
479+
<value compset="_MOM6" >OPTION1</value>
480+
<value compset="_BLOM" >OPTION1</value>
481+
<value compset="_POP2" grid="oi%gx1v6" >OPTION1</value>
482+
<value compset="_POP2" grid="oi%gx1v7" >OPTION1</value>
427483
<value compset="_DATM%NYF.*_SLND.*_DICE.*_DOCN" >OPTION2</value>
428-
<value compset="_XATM.*_XLND.*_XICE.*_XOCN" >OPTION2</value>
429-
<value compset="_SOCN" >OPTION2</value>
484+
<value compset="_XATM.*_XLND.*_XICE.*_XOCN" >OPTION2</value>
485+
<value compset="_SOCN" >OPTION2</value>
430486
</values>
431487
<group>run_coupling</group>
432488
<file>env_run.xml</file>
@@ -482,7 +538,9 @@
482538
<values match="last">
483539
<value compset="DATM.*_POP\d">TRUE</value>
484540
<value compset="DATM.*_MOM\d">TRUE</value>
541+
<value compset="DATM.*_BLOM\d">TRUE</value>
485542
<value compset="CAM.*_MOM\d">TRUE</value>
543+
<value compset="CAM.*_BLOM\d">TRUE</value>
486544
<value compset="CAM.*_POP\d">TRUE</value>
487545
<value compset="CAM.*_DOCN%SOM">TRUE</value>
488546
</values>

cime_config/namelist_definition_drv.xml

+48
Original file line numberDiff line numberDiff line change
@@ -2426,6 +2426,54 @@
24262426
</values>
24272427
</entry>
24282428

2429+
<entry id="flds_dms" modify_via_xml="DMS_EMIS_OCN">
2430+
<type>logical</type>
2431+
<category>flds</category>
2432+
<group>ALLCOMP_attributes</group>
2433+
<desc>
2434+
Pass DMS from OCN to ATM component
2435+
</desc>
2436+
<values>
2437+
<value>.false.</value>
2438+
</values>
2439+
</entry>
2440+
2441+
<entry id="flds_brf" modify_via_xml="BRF_EMIS_OCN">
2442+
<type>logical</type>
2443+
<category>flds</category>
2444+
<group>ALLCOMP_attributes</group>
2445+
<desc>
2446+
Pass Bromoform from OCN to ATM component
2447+
</desc>
2448+
<values>
2449+
<value>.false.</value>
2450+
</values>
2451+
</entry>
2452+
2453+
<entry id="flds_n2o" modify_via_xml="N2O_EMIS_OCN">
2454+
<type>logical</type>
2455+
<category>flds</category>
2456+
<group>ALLCOMP_attributes</group>
2457+
<desc>
2458+
Pass N2O from OCN to ATM component
2459+
</desc>
2460+
<values>
2461+
<value>.false.</value>
2462+
</values>
2463+
</entry>
2464+
2465+
<entry id="flds_nh3" modify_via_xml="NH3_EMIS_OCN">
2466+
<type>logical</type>
2467+
<category>flds</category>
2468+
<group>ALLCOMP_attributes</group>
2469+
<desc>
2470+
Pass NH3 from OCN to ATM component
2471+
</desc>
2472+
<values>
2473+
<value>.false.</value>
2474+
</values>
2475+
</entry>
2476+
24292477
<entry id="flds_bgc_oi">
24302478
<type>logical</type>
24312479
<category>seq_flds</category>

mediator/esmFldsExchange_cesm_mod.F90

+1-1
Original file line numberDiff line numberDiff line change
@@ -3322,7 +3322,7 @@ subroutine esmFldsExchange_cesm(gcomp, phase, rc)
33223322
!-----------------------------
33233323
! to glc: from ocn
33243324
!-----------------------------
3325-
if (is_local%wrap%ocn2glc_coupling) then
3325+
if (ocn2glc_coupling) then
33263326
if (phase == 'advertise') then
33273327
call addfld_from(compocn, 'So_t_depth')
33283328
call addfld_from(compocn, 'So_s_depth')

0 commit comments

Comments
 (0)