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

Add ocean wetting-and-drying ramp feature #46

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c6f43d3
Increase initial soil moisture in fates runs
Mar 6, 2023
720cb3d
Add smaller PE-layouts for tests on Anvil
amametjanov Mar 25, 2023
e11ce2b
Eliminate potential nonreproducibility in final local sum
worleyph Mar 27, 2023
0166f57
Double PEs for ne30pg2_EC30to60E2r2+WCYCL1850 to avoid OOM in ERP+PEM
amametjanov Mar 28, 2023
eab5db2
Fix misdimensioned vector
worleyph Mar 28, 2023
5236f93
Use ocn_mesh in ocn_wetting_drying
cbegeman Mar 1, 2022
eb476d9
Change wettingVelocity to wettingVelocityFactor
cbegeman Mar 1, 2022
340dfc5
Clean up wetting and drying
cbegeman Mar 1, 2022
adc12a7
Move conditionals for efficiency
cbegeman Apr 18, 2022
05a41f7
Fixup Registry for consistency with CF work
cbegeman Jul 13, 2022
45d0b47
Aesthetic change to ocn_wetting_drying
cbegeman Jul 13, 2022
230e16c
Change k-loop limits for wettingVelocityFactor
cbegeman Sep 9, 2022
4665974
Add floating ice vars to registry
cbegeman Dec 16, 2022
5f58955
Include floating ice vars in init mode
cbegeman Dec 16, 2022
2eb90b2
Add landIceFloating* vars to analysis members
cbegeman Dec 16, 2022
060f4fa
Use landIceFloating* vars for melt fluxes
cbegeman Dec 16, 2022
25ef605
Use landIceFloatingMask for effective density
cbegeman Dec 16, 2022
39f5cd5
Use landIceFloatingMask for surface flux attenuation
cbegeman Dec 17, 2022
7c6480a
Use landIceFloatingMask for mixed layer computations
cbegeman Dec 17, 2022
f63b9f9
Continue using landIceMask to exclude ideal age tracers
cbegeman Dec 17, 2022
22dd1cf
Never generate frazil ice below grounded land ice
cbegeman Dec 17, 2022
259b747
Add landIceFloatingFraction to forcing
cbegeman Dec 17, 2022
78a1fb7
Fix MLD AM with land ice draft
cbegeman Feb 3, 2023
2041e46
Fix MLD computation with land ice draft
cbegeman Feb 3, 2023
fa71ec8
Check for invalid values in landIceFloatingMask
cbegeman Feb 8, 2023
cef278b
Point to new initial contions
xylar Feb 20, 2023
d1ec5b0
Make LI flux mode `off` for meshes without ISC
xylar Mar 17, 2023
aa144a6
Make changes to mct driver for land_ice_flux_mode = off
cbegeman Mar 31, 2023
de9ca1e
add ifdefs around primary MMF tuning parameters
whannah1 Apr 5, 2023
282339b
Fix domain file name for oQU240wLI
jonbob Apr 5, 2023
a3b334c
Merge remote-tracking branch 'needhamfork/JFN-soilmoisture' (PR #5508)
peterdschwartz Apr 5, 2023
c292bec
Merge branch 'cbegeman/ocn/new-floating-land-ice-vars' (PR #5464)
jonbob Apr 5, 2023
db598dc
Merge branch 'worleyph/share/util/fix_potential_nonrepro' (PR #5560)
amametjanov Apr 6, 2023
ac27e8e
Merge branch 'azamat/anvil/pes-for-tests' (PR #5558)
amametjanov Apr 6, 2023
b90b6bc
Merge branch 'whannah/mmf/samxx-tuning-mods' (#5578)
brhillman Apr 6, 2023
a0a5dfe
Merge branch 'cbegeman/ocn/cleanup-wetting-drying-with-klimits' (PR #…
jonbob Apr 6, 2023
a114633
Merge branch 'jonbob/grids/fix-domain-file' (PR #5580)
jonbob Apr 6, 2023
241989b
Add wettingVelocityFactor ramp as in O'Dea
cbegeman Apr 18, 2022
9933271
Add minimum limit to ramp (different from hCrit)
cbegeman Sep 15, 2022
38968b3
Change k-loop limits for wettingVelocityFactor
cbegeman Sep 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cime_config/config_grids.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2936,7 +2936,7 @@
<domain name="oQU240wLI">
<nx>7268</nx>
<ny>1</ny>
<file grid="ice|ocn">$DIN_LOC_ROOT/share/domains/domain.ocn.oQU240wLI.160929.nc</file>
<file grid="ice|ocn">$DIN_LOC_ROOT/share/domains/domain.ocn.oQU240wLI_mask.160929.nc</file>
<desc>oQU240wLI is an MPAS ocean mesh with quasi-uniform 240 km grid cells, nominally 2 degree resolution. Additionally, it has ocean under landice cavities.:</desc>
</domain>

Expand Down
151 changes: 151 additions & 0 deletions cime_config/testmods_dirs/config_pes_tests.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,19 @@
</nthrds>
</pes>
</mach>
<mach name="anvil">
<pes compset="any" pesize="any">
<comment>tests+anvil: default, 4 nodes x MAX_MPITASKS_PER_NODE mpi x 1 omp @ root 0</comment>
<ntasks>
<ntasks_atm>-4</ntasks_atm>
<ntasks_lnd>-4</ntasks_lnd>
<ntasks_rof>-4</ntasks_rof>
<ntasks_ice>-4</ntasks_ice>
<ntasks_ocn>-4</ntasks_ocn>
<ntasks_cpl>-4</ntasks_cpl>
</ntasks>
</pes>
</mach>
</grid>
<grid name="a%ne4np4.*">
<mach name="chrysalis">
Expand Down Expand Up @@ -57,7 +70,26 @@
</nthrds>
</pes>
</mach>
<mach name="anvil">
<pes compset="any" pesize="any">
<comment>test+anvil: any compset on ne4 grid -- 4 nodes pure-MPI </comment>
<ntasks>
<ntasks_atm>108</ntasks_atm>
<ntasks_ice>108</ntasks_ice>
<ntasks_cpl>108</ntasks_cpl>
<ntasks_lnd>36</ntasks_lnd>
<ntasks_rof>36</ntasks_rof>
<ntasks_ocn>36</ntasks_ocn>
</ntasks>
<rootpe>
<rootpe_lnd>108</rootpe_lnd>
<rootpe_rof>108</rootpe_rof>
<rootpe_ocn>108</rootpe_ocn>
</rootpe>
</pes>
</mach>
</grid>
<!-- allactive -->
<grid name="a%ne30np4.pg.+_oi%EC30to60E2r2">
<mach name="chrysalis">
<pes compset=".*EAM.+ELM.+MPASSI.+MPASO.+MOSART.+" pesize="any">
Expand All @@ -75,6 +107,62 @@
</rootpe>
</pes>
</mach>
<mach name="anvil">
<pes compset=".*EAM.+ELM.+MPASSI.+DOCN.+SGLC_SWAV_SIAC_SESP_BGC.*" pesize="any">
<comment>tests+anvil: pelayout for tri-grid BGC tests with EAM+DOCN</comment>
<ntasks>
<ntasks_atm>-8</ntasks_atm>
<ntasks_lnd>-8</ntasks_lnd>
<ntasks_rof>-8</ntasks_rof>
<ntasks_ice>-8</ntasks_ice>
<ntasks_ocn>-8</ntasks_ocn>
<ntasks_cpl>-8</ntasks_cpl>
</ntasks>
</pes>
<pes compset=".*EAM.+ELM.+MPASSI.+MPASO.+MOSART.+SWAV.+_SESP$" pesize="any">
<comment> --compset WCYCL* --res ne30pg2_EC30to60E2r2 on 16 nodes pure-MPI, ~2.7 sypd </comment>
<ntasks>
<ntasks_atm>396</ntasks_atm>
<ntasks_lnd>396</ntasks_lnd>
<ntasks_rof>396</ntasks_rof>
<ntasks_ice>396</ntasks_ice>
<ntasks_ocn>180</ntasks_ocn>
<ntasks_cpl>396</ntasks_cpl>
</ntasks>
<rootpe>
<rootpe_ocn>396</rootpe_ocn>
</rootpe>
</pes>
<pes compset=".*EAM.+ELM.+MPASSI.+MPASO.+SGLC_SWAV_SIAC_SESP_BGC.*" pesize="any">
<comment>anvil: --compset BGC* --res ne30pg2_r05_EC30to60E2r2 on 30 nodes pure-MPI, ~3 sypd </comment>
<ntasks>
<ntasks_atm>675</ntasks_atm>
<ntasks_lnd>684</ntasks_lnd>
<ntasks_rof>684</ntasks_rof>
<ntasks_ice>684</ntasks_ice>
<ntasks_ocn>396</ntasks_ocn>
<ntasks_cpl>684</ntasks_cpl>
</ntasks>
<rootpe>
<rootpe_ocn>684</rootpe_ocn>
</rootpe>
</pes>
</mach>
</grid>
<grid name="a%ne30np4">
<mach name="anvil">
<pes compset="JRA_ELM.+MPASSI.+MPASO.+MOSART" pesize="any">
<comment>"anvil, GPMPAS-JRA compset, 6 nodes"</comment>
<ntasks>
<ntasks_atm>-6</ntasks_atm>
<ntasks_lnd>-6</ntasks_lnd>
<ntasks_rof>-6</ntasks_rof>
<ntasks_ice>-6</ntasks_ice>
<ntasks_ocn>-6</ntasks_ocn>
<ntasks_cpl>-6</ntasks_cpl>
</ntasks>
</pes>
</mach>
</grid>
<grid name="a%ne0np4_northamericax4v1.pg2_l%.+_oi%WC14to60E2r3">
<mach name="chrysalis">
Expand All @@ -93,5 +181,68 @@
</rootpe>
</pes>
</mach>
<mach name="anvil">
<pes compset=".*EAM.+ELM.+MPASSI.+MPASO.+MOSART.+SWAV.+" pesize="any">
<comment>tests+anvil: --compset WCYCL1850 --res northamericax4v1pg2_WC14to60E2r3 on 20 nodes pure-MPI, ~0.8 sypd </comment>
<ntasks>
<ntasks_atm>468</ntasks_atm>
<ntasks_lnd>468</ntasks_lnd>
<ntasks_rof>468</ntasks_rof>
<ntasks_ice>468</ntasks_ice>
<ntasks_ocn>252</ntasks_ocn>
<ntasks_cpl>468</ntasks_cpl>
</ntasks>
<rootpe>
<rootpe_ocn>468</rootpe_ocn>
</rootpe>
</pes>
</mach>
</grid>
<!-- EAM -->
<grid name="a%ne0np4.*">
<mach name="anvil">
<pes compset=".*EAM.+ELM.+MPASSI.+DOCN.+MOSART.+" pesize="any">
<comment>tests+anvil: 10x36x1--res conusx4v1_r05_oECv3 --compset F2010 </comment>
<ntasks>
<ntasks_atm>-10</ntasks_atm>
<ntasks_lnd>-10</ntasks_lnd>
<ntasks_rof>-10</ntasks_rof>
<ntasks_ice>-10</ntasks_ice>
<ntasks_ocn>-10</ntasks_ocn>
<ntasks_cpl>-10</ntasks_cpl>
</ntasks>
</pes>
</mach>
</grid>
<grid name="a%ne30np4.pg2_l%.+_oi%oEC60to30v3">
<mach name="anvil">
<pes compset=".*EAM.+ELM.+MPASSI.+DOCN.+" pesize="any">
<comment>tests+anvil 8x36x1 for F-cases on anvil, to fix testing issues that default to 144 pes on 4 nodes</comment>
<ntasks>
<ntasks_atm>-8</ntasks_atm>
<ntasks_lnd>-8</ntasks_lnd>
<ntasks_rof>-8</ntasks_rof>
<ntasks_ice>-8</ntasks_ice>
<ntasks_ocn>-8</ntasks_ocn>
<ntasks_cpl>-8</ntasks_cpl>
</ntasks>
</pes>
</mach>
</grid>
<!-- ELM -->
<grid name="l%360x720cru|a%r05_l%r05_oi%null_r%r05_g%null_w%null_z%null_m%oEC60to30v3">
<mach name="anvil">
<pes compset="any" pesize="any">
<comment>tests+anvil: elm: anvil PEs for grid l%360x720cru</comment>
<ntasks>
<ntasks_atm>-8</ntasks_atm>
<ntasks_lnd>-8</ntasks_lnd>
<ntasks_rof>-8</ntasks_rof>
<ntasks_ice>-8</ntasks_ice>
<ntasks_ocn>-8</ntasks_ocn>
<ntasks_cpl>-8</ntasks_cpl>
</ntasks>
</pes>
</mach>
</grid>
</config_pes>
33 changes: 29 additions & 4 deletions components/eam/src/physics/crm/samxx/samxx_const.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,8 +209,6 @@ int constexpr index_cloud_ice = 0;
real constexpr rhor = 1000.; // Density of water, kg/m3
real constexpr rhos = 100.; // Density of snow, kg/m3
real constexpr rhog = 400.; // Density of graupel, kg/m3
real constexpr tbgmin = 253.16; // Minimum temperature for cloud water., K
real constexpr tbgmax = 273.16; // Maximum temperature for cloud ice, K
real constexpr tprmin = 268.16; // Minimum temperature for rain, K
real constexpr tprmax = 283.16; // Maximum temperature for snow+graupel, K
real constexpr tgrmin = 223.16; // Minimum temperature for snow, K
Expand All @@ -231,11 +229,38 @@ real constexpr nzeros = 3.e6; // Intersept coeff. for snow
real constexpr nzerog = 4.e6; // Intersept coeff. for graupel
real constexpr qp_threshold = 1.e-8; // minimal rain/snow water content

real constexpr qcw0 = 1.e-3;
real constexpr qci0 = 1.e-4;
real constexpr alphaelq = 1.e-3;
real constexpr betaelq = 1.e-3;

//------------------------------------------------------------------------------
// MMF climate tuning parameters
//------------------------------------------------------------------------------
#ifdef MMF_TMN
real constexpr tbgmin = MMF_TMN;
#else
real constexpr tbgmin = 253.16; // Min temperature for cloud liq, K
#endif

#ifdef MMF_TMX
real constexpr tbgmax = MMF_TMX;
#else
real constexpr tbgmax = 273.16; // Max temperature for cloud ice, K
#endif

#ifdef MMF_QCW
real constexpr qcw0 = MMF_QCW;
#else
real constexpr qcw0 = 1.e-3; // liq autoconversion threshold
#endif

#ifdef MMF_QCI
real constexpr qci0 = MMF_QCI;
#else
real constexpr qci0 = 1.e-4; // ice autoconversion threshold
#endif
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------

real constexpr crm_accel_coef = 1.0/( (real) nx * (real) ny );

int constexpr plev = PLEV;
Expand Down
4 changes: 2 additions & 2 deletions components/elm/src/data_types/ColumnDataType.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1616,8 +1616,8 @@ subroutine col_ws_init(this, begc, endc, h2osno_input, snow_depth_input, watsat_
if (j > nlevbed) then
this%h2osoi_vol(c,j) = 0.0_r8
else
if (use_fates_planthydro .or. use_hydrstress) then
this%h2osoi_vol(c,j) = 0.70_r8*watsat_input(c,j) !0.15_r8 to avoid very dry conditions that cause errors in FATES HYDRO
if (use_fates .or. use_hydrstress) then
this%h2osoi_vol(c,j) = 0.70_r8*watsat_input(c,j) !0.15_r8 to avoid very dry conditions that cause errors in FATES
else
this%h2osoi_vol(c,j) = 0.15_r8
endif
Expand Down
2 changes: 1 addition & 1 deletion components/mpas-ocean/bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -782,7 +782,7 @@ if ($OCN_ISMF eq 'coupled') {
} elsif ($OCN_ISMF eq 'internal') {
add_default($nl, 'config_land_ice_flux_mode', 'val'=>"standalone");
} else {
add_default($nl, 'config_land_ice_flux_mode', 'val'=>"pressure_only");
add_default($nl, 'config_land_ice_flux_mode');
}
add_default($nl, 'config_land_ice_flux_formulation');
add_default($nl, 'config_land_ice_flux_useHollandJenkinsAdvDiff');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,12 +333,12 @@

<!-- land_ice_fluxes -->
<config_land_ice_flux_mode>'off'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="oQU240wLI">'standalone'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="oEC60to30v3wLI">'standalone'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="ECwISC30to60E1r2">'standalone'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="oRRS30to10v3wLI">'standalone'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="SOwISC12to60E2r4">'standalone'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="ECwISC30to60E2r1">'standalone'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="oQU240wLI">'pressure_only'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="oEC60to30v3wLI">'pressure_only'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="ECwISC30to60E1r2">'pressure_only'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="oRRS30to10v3wLI">'pressure_only'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="SOwISC12to60E2r4">'pressure_only'</config_land_ice_flux_mode>
<config_land_ice_flux_mode ocn_grid="ECwISC30to60E2r1">'pressure_only'</config_land_ice_flux_mode>
<config_land_ice_flux_formulation>'Jenkins'</config_land_ice_flux_formulation>
<config_land_ice_flux_useHollandJenkinsAdvDiff>.false.</config_land_ice_flux_useHollandJenkinsAdvDiff>
<config_land_ice_flux_attenuation_coefficient>10.0</config_land_ice_flux_attenuation_coefficient>
Expand Down
18 changes: 9 additions & 9 deletions components/mpas-ocean/cime_config/buildnml
Original file line number Diff line number Diff line change
Expand Up @@ -90,18 +90,18 @@ def buildnml(case, caseroot, compname):
decomp_prefix = 'mpas-o.graph.info.'
restoring_file = 'sss.monthlyClimatology.PHC2_salx_040803.oEC60to30v3wLI.nc'
analysis_mask_file = 'masks_SingleRegionAtlanticWTransportTransects_EC60to30v3wLI_171116.nc'
ic_date = '171031'
ic_date = '230220'
ic_prefix = 'oEC60to30v3wLI60lev'
if ocn_ic_mode == 'spunup':
ic_date = '171116'
ic_date = '230220'
ic_prefix = 'oEC60to30v3wLI60lev.restart_theta_year26'

elif ocn_grid == 'ECwISC30to60E1r2':
decomp_date = '200408'
decomp_prefix = 'mpas-o.graph.info.'
restoring_file = 'sss.PHC2_monthlyClimatology.ECwISC30to60E1r02.200408.nc'
analysis_mask_file = 'ECwISC30to60E1r02_transportTransects.nc'
ic_date = '200408'
ic_date = '230220'
ic_prefix = 'ocean.ECwISC30to60E1r2'
if ocn_ic_mode == 'spunup':
logger.warning("WARNING: The specified compset is requesting ocean ICs spunup from a G-case")
Expand All @@ -128,7 +128,7 @@ def buildnml(case, caseroot, compname):
elif ocn_grid == 'oQU240wLI':
decomp_date = '160929'
decomp_prefix = 'mpas-o.graph.info.'
ic_date = '160929'
ic_date = '230220'
ic_prefix = 'ocean.QU.240wLI'
if ocn_ic_mode == 'spunup':
logger.warning("WARNING: The specified compset is requesting ocean ICs spunup from a G-case")
Expand Down Expand Up @@ -159,7 +159,7 @@ def buildnml(case, caseroot, compname):
decomp_prefix = 'mpas-o.graph.info.'
restoring_file = 'sss.monthlyClimatology.PHC2_salx.2004_08_03.180503.nc'
analysis_mask_file = 'masks_SingleRegionAtlanticWTransportTransects_RRS30to10v3wLI.nc'
ic_date = '171109'
ic_date = '230220'
ic_prefix = 'oRRS30to10v3wLI'
if ocn_ic_mode == 'spunup':
logger.warning("WARNING: The specified compset is requesting ocean ICs spunup from a G-case")
Expand Down Expand Up @@ -261,21 +261,21 @@ def buildnml(case, caseroot, compname):
decomp_prefix = 'mpas-o.graph.info.'
restoring_file = 'sss.PHC2_monthlyClimatology.SOwISC12to60E2r4_nomask.210120.nc'
analysis_mask_file = 'SOwISC12to60E2r4_mocBasinsAndTransects20210623.nc'
ic_date = '210107'
ic_date = '230220'
ic_prefix = 'ocean.SOwISC12to60E2r4'
if ocn_ic_mode == 'spunup':
ic_date = '210203'
ic_date = '230220'
ic_prefix = 'mpaso.SOwISC12to60E2r4.rstFromG-anvil'

elif ocn_grid == 'ECwISC30to60E2r1':
decomp_date = '200915'
decomp_prefix = 'mpas-o.graph.info.'
restoring_file = 'sss.PHC2_monthlyClimatology.ECwISC30to60E2r1_nomask.201221.nc'
analysis_mask_file = 'ECwISC30to60E2r1_mocBasinsAndTransects20210623.nc'
ic_date = '210413'
ic_date = '230220'
ic_prefix = 'ocean.ECwISC30to60E2r1'
if ocn_ic_mode == 'spunup':
ic_date = '210414'
ic_date = '230220'
ic_prefix = 'mpaso.ECwISC30to60E2r1.rstFromG-anvil'


Expand Down
10 changes: 5 additions & 5 deletions components/mpas-ocean/driver/ocn_comp_mct.F
Original file line number Diff line number Diff line change
Expand Up @@ -790,10 +790,9 @@ end subroutine xml_stream_get_attributes
call t_stopf ('mpaso_mct_init')

call mpas_pool_get_config(domain % configs, 'config_land_ice_flux_mode', config_land_ice_flux_mode)
if ( trim(config_land_ice_flux_mode) .eq. 'pressure_only' ) then
call seq_infodata_PutData( infodata, ocn_prognostic=.true., ocnrof_prognostic=.true., &
ocn_c2_glcshelf=.false.)
else if ( trim(config_land_ice_flux_mode) .eq. 'standalone' ) then
if ( trim(config_land_ice_flux_mode) == 'off' .or. &
trim(config_land_ice_flux_mode) == 'pressure_only' .or. &
trim(config_land_ice_flux_mode) == 'standalone' ) then
call seq_infodata_PutData( infodata, ocn_prognostic=.true., ocnrof_prognostic=.true., &
ocn_c2_glcshelf=.false.)
else if ( trim(config_land_ice_flux_mode) .eq. 'coupled' ) then
Expand Down Expand Up @@ -2784,7 +2783,8 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
!JW o2x_o % rAttr(index_o2x_So_htv, n) = landIceHeatTransferVelocity(i)
!JW o2x_o % rAttr(index_o2x_So_stv, n) = landIceSaltTransferVelocity(i)

if ( trim(config_land_ice_flux_mode) .ne. 'pressure_only' ) then
if ( trim(config_land_ice_flux_mode) .eq. 'standalone' .or. &
trim(config_land_ice_flux_mode) .eq. 'coupled' ) then
o2x_o % rAttr(index_o2x_So_blt, n) = landIceBoundaryLayerTracers(indexBLT,i)
o2x_o % rAttr(index_o2x_So_bls, n) = landIceBoundaryLayerTracers(indexBLS,i)
o2x_o % rAttr(index_o2x_So_htv, n) = landIceTracerTransferVelocities(indexHeatTrans,i)
Expand Down
Loading