Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
6fbd75f
add index_x2i_Fioo_frazils (frazil salt flux) to ice_comp_mct.F,mpass…
erinethomas May 27, 2026
1fa040f
Add additional frazil coupler fields.
karapeterson May 27, 2026
4b63826
adding o2x_Fioo_frazilh/o2x_Fioo_frazils to mpaso
erinethomas May 28, 2026
543f448
Enable variable salinity coupling inputs for sea ice
proteanplanet May 28, 2026
97550f5
Updating icepack submodule 9.2.26
darincomeau Sep 2, 2026
9a4de09
Add budgeting in mct coupler for new coupling fields.
karapeterson May 28, 2026
833ae50
Fix bugs leading to build errors.
karapeterson May 29, 2026
810fe58
Adds omega-fluxes option for frazil coupling in sea ice
njeffery May 29, 2026
13db738
Update sea ice config checks
njeffery Jun 1, 2026
961366e
Corrects update sea ice config options
njeffery Jun 3, 2026
a142bc4
Fixes salt flux units error
njeffery Jun 3, 2026
6c686e7
Make frazil energy consistent with the ocean energy change
njeffery Jun 19, 2026
f292121
fixed type introduced in last commit
njeffery Jun 19, 2026
ba610a2
Corrections to ensure BFB
njeffery Jun 30, 2026
540ebe4
Clean up ocean frazil routine
njeffery Jul 1, 2026
7754efc
corrects typo in frazil routine
njeffery Jul 29, 2026
cbe81bf
Remove redundant newFrazilEnergy
njeffery Aug 14, 2026
9ecd1da
Added copilot suggestions
njeffery Aug 14, 2026
15d3cb4
Splits ocean coupling of freezemelt potential into frazil heat and melt
njeffery Sep 15, 2026
51d8b83
Clean up coupler diagnostics for frazil
njeffery Sep 16, 2026
b3dc930
Adds index checks for perrWith indices
njeffery Sep 16, 2026
3bf13b6
Update components/mpas-ocean/src/Registry.xml
njeffery Sep 16, 2026
661ebaf
Changed registry field name and description
njeffery Sep 16, 2026
893e102
Removes space
njeffery Sep 16, 2026
19f2d6d
Adds coupling diagnostics for moab
njeffery Sep 17, 2026
69b15d1
Renamed frazil mass coupling fluxes
njeffery Sep 22, 2026
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
1 change: 1 addition & 0 deletions components/mpas-ocean/bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -840,6 +840,7 @@ add_default($nl, 'config_use_frazil_ice_porosity');
add_default($nl, 'config_frazil_ice_density');
add_default($nl, 'config_frazil_ice_porosity');
add_default($nl, 'config_frazil_fractional_thickness_limit');
add_default($nl, 'config_use_accumulated_frazil_energy');
add_default($nl, 'config_specific_heat_sea_water');
add_default($nl, 'config_frazil_maximum_depth');
add_default($nl, 'config_frazil_sea_ice_reference_salinity');
Expand Down
1 change: 1 addition & 0 deletions components/mpas-ocean/bld/build-namelist-section
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ add_default($nl, 'config_use_frazil_ice_porosity');
add_default($nl, 'config_frazil_ice_density');
add_default($nl, 'config_frazil_ice_porosity');
add_default($nl, 'config_frazil_fractional_thickness_limit');
add_default($nl, 'config_use_accumulated_frazil_energy');
add_default($nl, 'config_specific_heat_sea_water');
add_default($nl, 'config_frazil_maximum_depth');
add_default($nl, 'config_frazil_sea_ice_reference_salinity');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,7 @@
<config_frazil_ice_density>1000.0</config_frazil_ice_density>
<config_frazil_ice_porosity>1.0</config_frazil_ice_porosity>
<config_frazil_fractional_thickness_limit>0.1</config_frazil_fractional_thickness_limit>
<config_use_accumulated_frazil_energy>.false.</config_use_accumulated_frazil_energy>
<config_specific_heat_sea_water>3.996e3</config_specific_heat_sea_water>
<config_frazil_maximum_depth>100.0</config_frazil_maximum_depth>
<config_frazil_sea_ice_reference_salinity>4.0</config_frazil_sea_ice_reference_salinity>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1708,6 +1708,14 @@ Valid values: Any positive real number between 0 and 1.
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_use_accumulated_frazil_energy" type="logical"
category="frazil_ice" group="frazil_ice">
If true, send the total energy accumulated from frazil ice formation to the sea ice model, otherwise use the latent heat.

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

<entry id="config_specific_heat_sea_water" type="real"
category="frazil_ice" group="frazil_ice">
Energy per kilogram per C needed to raise ocean temperature 1 C. NOTE: test and make consistent with E3SM.
Expand Down
8 changes: 6 additions & 2 deletions components/mpas-ocean/driver/mpaso_cpl_indices.F
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ module mpaso_cpl_indices
integer :: index_o2x_So_dhdy
integer :: index_o2x_Fioo_q
integer :: index_o2x_Foxo_q_li
integer :: index_o2x_Fioo_frazil
integer :: index_o2x_Fioo_frazilm
integer :: index_o2x_Fioo_frazils
integer :: index_o2x_Fioo_frazilh
integer :: index_o2x_Foxo_frazil_li
integer :: index_o2x_Faoo_h2otemp
integer :: index_o2x_Faoo_fco2_ocn
Expand Down Expand Up @@ -214,7 +216,9 @@ subroutine mpaso_cpl_indices_set( )
index_o2x_So_dhdy = mct_avect_indexra(o2x,'So_dhdy')
index_o2x_Fioo_q = mct_avect_indexra(o2x,'Fioo_q',perrWith='quiet')
index_o2x_Foxo_q_li = mct_avect_indexra(o2x,'Foxo_q_li',perrWith='quiet')
index_o2x_Fioo_frazil = mct_avect_indexra(o2x,'Fioo_frazil',perrWith='quiet')
index_o2x_Fioo_frazilm = mct_avect_indexra(o2x,'Fioo_frazilm',perrWith='quiet')
index_o2x_Fioo_frazils = mct_avect_indexra(o2x,'Fioo_frazils',perrWith='quiet')
index_o2x_Fioo_frazilh = mct_avect_indexra(o2x,'Fioo_frazilh',perrWith='quiet')
index_o2x_Foxo_frazil_li= mct_avect_indexra(o2x,'Foxo_frazil_li',perrWith='quiet')
index_o2x_Faoo_h2otemp = mct_avect_indexra(o2x,'Faoo_h2otemp',perrWith='quiet')
index_o2x_Faoo_fco2_ocn = mct_avect_indexra(o2x,'Faoo_fco2_ocn',perrWith='quiet')
Expand Down
38 changes: 27 additions & 11 deletions components/mpas-ocean/driver/ocn_comp_mct.F
Original file line number Diff line number Diff line change
Expand Up @@ -3166,6 +3166,7 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
integer, dimension(:), pointer :: landIceMask

real (kind=RKIND), dimension(:), pointer :: seaIceEnergy, accumulatedFrazilIceMass, frazilSurfacePressure, &
accumulatedFrazilIceEnergy, &
avgTotalFreshWaterTemperatureFlux, &
avgCO2_gas_flux, DMSFlux, surfaceUpwardCO2Flux, &
avgOceanSurfaceDIC, &
Expand Down Expand Up @@ -3286,6 +3287,7 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
call mpas_pool_get_array(forcingPool, 'seaIceEnergy', seaIceEnergy)
call mpas_pool_get_array(forcingPool, 'frazilSurfacePressure', frazilSurfacePressure)
call mpas_pool_get_array(statePool, 'accumulatedFrazilIceMass', accumulatedFrazilIceMass, 1)
call mpas_pool_get_array(statePool, 'accumulatedFrazilIceEnergy', accumulatedFrazilIceEnergy, 1)
end if

! Cryo fields
Expand Down Expand Up @@ -3384,32 +3386,45 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
end if
end if

if (index_o2x_Fioo_q /= 0) o2x_o(index_o2x_Fioo_q, n) = 0.0_RKIND
if (index_o2x_Fioo_frazilh /= 0) o2x_o(index_o2x_Fioo_frazilh, n) = 0.0_RKIND
if ( keepFrazil ) then

! Calculate energy associated with frazil mass transfer to sea ice if frazil has accumulated
if ( accumulatedFrazilIceMass(i) > 0.0_RKIND ) then
if ( accumulatedFrazilIceMass(i) > 0.0_RKIND .and. index_o2x_Fioo_frazilh /= 0) then

seaIceEnergy(i) = accumulatedFrazilIceMass(i) * config_frazil_heat_of_fusion
seaIceEnergy(i) = accumulatedFrazilIceMass(i) * config_frazil_heat_of_fusion
if (config_use_accumulated_frazil_energy) then
o2x_o(index_o2x_Fioo_frazilh, n) = accumulatedFrazilIceEnergy(i)/ ocn_cpl_dt
else
Comment thread
Copilot marked this conversation as resolved.
o2x_o(index_o2x_Fioo_frazilh, n) = seaIceEnergy(i) / ocn_cpl_dt
end if

! Otherwise calculate the melt potential where avgTracersSurfaceValue represents only the
! top layer of the ocean
else
else if (index_o2x_Fioo_q /= 0) then

surfaceFreezingTemp = ocn_freezing_temperature(salinity=avgTracersSurfaceValue(index_salinitySurfaceValue, i), &
pressure=0.0_RKIND, inLandIceCavity=.false.)
surfaceFreezingTemp = ocn_freezing_temperature(salinity=avgTracersSurfaceValue(index_salinitySurfaceValue, i), &
pressure=0.0_RKIND, inLandIceCavity=.false.)

seaIceEnergy(i) = min(rho_sw*cp_sw*layerThickness(1, i)*( surfaceFreezingTemp + T0_Kelvin &
seaIceEnergy(i) = min(rho_sw*cp_sw*layerThickness(1, i)*( surfaceFreezingTemp + T0_Kelvin &
- avgTracersSurfaceValue(index_temperatureSurfaceValue, i) ), 0.0_RKIND )

end if
o2x_o(index_o2x_Fioo_q, n) = seaIceEnergy(i) / ocn_cpl_dt
endif

o2x_o(index_o2x_Fioo_q, n) = seaIceEnergy(i) / ocn_cpl_dt
o2x_o(index_o2x_Fioo_frazil, n) = accumulatedFrazilIceMass(i) / ocn_cpl_dt
if (index_o2x_Fioo_frazilm /= 0) then
o2x_o(index_o2x_Fioo_frazilm, n) = accumulatedFrazilIceMass(i) / ocn_cpl_dt
o2x_o(index_o2x_Fioo_frazils, n) = accumulatedFrazilIceMass(i)/ 1000.0_RKIND * &
config_frazil_sea_ice_reference_salinity / ocn_cpl_dt
endif

else

o2x_o(index_o2x_Fioo_q, n) = 0.0_RKIND
o2x_o(index_o2x_Fioo_frazil, n) = 0.0_RKIND
if (index_o2x_Fioo_frazilm /= 0) then
o2x_o(index_o2x_Fioo_frazilm, n) = 0.0_RKIND
o2x_o(index_o2x_Fioo_frazils, n) = 0.0_RKIND
endif
if (trim(config_land_ice_flux_mode) == 'standalone' .or. trim(config_land_ice_flux_mode) == 'data') then
o2x_o(index_o2x_Foxo_q_li, n) = accumulatedFrazilIceMass(i) * config_frazil_heat_of_fusion / ocn_cpl_dt
o2x_o(index_o2x_Foxo_frazil_li, n) = accumulatedFrazilIceMass(i) / ocn_cpl_dt
Expand All @@ -3420,6 +3435,7 @@ subroutine ocn_export_mct(o2x_o, errorCode) !{{{
! Reset SeaIce Energy and Accumulated Frazil Ice
seaIceEnergy(i) = 0.0_RKIND
accumulatedFrazilIceMass(i) = 0.0_RKIND
accumulatedFrazilIceEnergy(i) = 0.0_RKIND
frazilSurfacePressure(i) = 0.0_RKIND
end if

Expand Down
9 changes: 9 additions & 0 deletions components/mpas-ocean/src/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1083,6 +1083,10 @@
description="maximum fraction of layer thickness than can be used or created at an instant by frazil."
possible_values="Any positive real number between 0 and 1."
/>
<nml_option name="config_use_accumulated_frazil_energy" type="logical" default_value=".false."
description="If true, send the total energy accumulated from frazil ice formation to the sea ice model, otherwise use the latent heat."
possible_values=".true. or .false."
/>
Comment on lines +1086 to +1089

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the PR description

<nml_option name="config_specific_heat_sea_water" type="real" default_value="3985.0" units="J kg^-1 C^-1"
description="Energy per kilogram per C needed to raise ocean temperature 1 C. NOTE: test and make consistent with E3SM."
possible_values="Any positive real number."
Expand Down Expand Up @@ -2146,6 +2150,7 @@
<var_struct name="ecosysAuxiliary"/>
<var name="accumulatedFrazilIceMass"/>
<var name="accumulatedFrazilIceSalinity"/>
<var name="accumulatedFrazilIceEnergy"/>
<var name="accumulatedLandIceMass"/>
<var name="accumulatedLandIceHeat"/>
<var name="accumulatedLandIceFrazilMass"/>
Expand Down Expand Up @@ -2517,6 +2522,10 @@
description="Mass per unit area of frazil ice produced. Reset to zero at each coupling interval"
packages="frazilIce"
/>
<var name="accumulatedFrazilIceEnergy" type="real" dimensions="nCells Time" units="J m^-2"
description="Accumulated frazil ice energy per unit area. Reset to zero at each coupling interval"
packages="frazilIce"
/>
<var name="accumulatedFrazilIceSalinity" type="real" dimensions="nCells Time" units="kg m^-2"
description="Salinity associated with accumulatedFrazilIceMass. Reset to zero at each coupling interval"
packages="frazilIce"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
description="Iceberg heat flux from coupler, integrated in space and time. Positive into the ocean."
/>
<var name="accumulatedFrazilHeatFlux" type="real" dimensions="Time" units="W m^-2"
description="Heat flux from frazil, integrated in space and time, given to couipler. Positive into the ocean."
description="Heat flux from frazil, integrated in space and time, given to coupler. Positive into the ocean."
/>
<var name="accumulatedLandIceHeatFlux" type="real" dimensions="Time" units="W m^-2"
description="Land ice heat flux, integrated in space and time. Positive into the ocean."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -462,6 +462,8 @@ subroutine energy_conservation(domain, err)
icebergTemperatureFlux, &
accumulatedFrazilIceMassNew, &
accumulatedFrazilIceMassOld, &
accumulatedFrazilIceEnergyNew, &
accumulatedFrazilIceEnergyOld, &
accumulatedLandIceFrazilMassNew, &
accumulatedLandIceFrazilMassOld

Expand Down Expand Up @@ -565,6 +567,8 @@ subroutine energy_conservation(domain, err)
call mpas_pool_get_array(tracersSurfaceFluxPool, 'activeTracersSurfaceFluxSubglacialRunoff', activeTracersSurfaceFluxSubglacialRunoff)
call mpas_pool_get_array(statePool, 'accumulatedFrazilIceMass', accumulatedFrazilIceMassNew, 2)
call mpas_pool_get_array(statePool, 'accumulatedFrazilIceMass', accumulatedFrazilIceMassOld, 1)
call mpas_pool_get_array(statePool, 'accumulatedFrazilIceEnergy', accumulatedFrazilIceEnergyNew, 2)
call mpas_pool_get_array(statePool, 'accumulatedFrazilIceEnergy', accumulatedFrazilIceEnergyOld, 1)

do iCell = 1, nCellsSolve

Expand Down Expand Up @@ -597,10 +601,8 @@ subroutine energy_conservation(domain, err)

if (config_use_frazil_ice_formation) then
do iCell = 1, nCellsSolve
! Frazil ice mass is negative. Negative coefficient makes heat
! flux positive, because freezing ice releases heat.
sumArray(10) = sumArray(10) - areaCell(iCell) * config_frazil_heat_of_fusion &
* (accumulatedFrazilIceMassNew(iCell) - accumulatedFrazilIceMassOld(iCell))/dt
sumArray(10) = sumArray(10) - areaCell(iCell) &
* (accumulatedFrazilIceEnergyNew(iCell) - accumulatedFrazilIceEnergyOld(iCell))/dt
enddo
end if

Expand All @@ -614,8 +616,6 @@ subroutine energy_conservation(domain, err)
call mpas_pool_get_array(statePool, 'accumulatedLandIceFrazilMass', accumulatedLandIceFrazilMassOld, 1)
call mpas_pool_get_array(statePool, 'accumulatedLandIceFrazilMass', accumulatedLandIceFrazilMassNew, 2)
do iCell = 1, nCellsSolve
! Frazil ice mass is negative. Negative coefficient makes heat
! flux positive, because freezing ice releases heat.
sumArray(18) = sumArray(18) - areaCell(iCell) * config_frazil_heat_of_fusion &
* (accumulatedLandIceFrazilMassNew(iCell) - accumulatedLandIceFrazilMassOld(iCell))/dt
enddo
Expand Down Expand Up @@ -749,21 +749,21 @@ subroutine energy_conservation(domain, err)
s = 0.0_RKIND
call mpas_log_write('HEAT FLUXES: explicit')
call mpas_log_write('MPAS-Ocean name W (raw sum) coupler name short name W/m^2 (flux/A)')
v=accumulatedFrazilHeatFlux ; write(m,"('frazilMass * LHF /dt ',es16.8,' o2x_Fioo_q hfreeze ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedSeaIceHeatFlux ; write(m,"('seaIceHeatFlux ',es16.8,' x2o_Fioi_melth hmelt ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedShortWaveHeatFlux ; write(m,"('shortWaveHeatFlux ',es16.8,' x2o_Foxx_swnet hnetsw ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedLongWaveHeatFluxDown ; write(m,"('longWaveHeatFluxDown ',es16.8,' x2o_Faxa_lwdn hlwdn ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedLongWaveHeatFluxUp ; write(m,"('longWaveHeatFluxUp ',es16.8,' x2o_Foxx_lwup hlwup ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedLatentHeatFlux ; write(m,"('latentHeatFlux ',es16.8,' x2o_Foxx_lat hlatvap ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedMeltingSnowHeatFlux ; write(m,"('snowFlux * LHF ',es16.8,' hlatfus ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedMeltingIceRunoffHeatFlux; write(m,"('iceRunoffFlux * LHF ',es16.8,' hiroff ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedFrazilHeatFlux ; write(m,"('frazilMass * LHF /dt ',es16.8,' o2x_Fioo_frazilh hfreeze ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedSeaIceHeatFlux ; write(m,"('seaIceHeatFlux ',es16.8,' x2o_Fioi_melth hmelt ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedShortWaveHeatFlux ; write(m,"('shortWaveHeatFlux ',es16.8,' x2o_Foxx_swnet hnetsw ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedLongWaveHeatFluxDown ; write(m,"('longWaveHeatFluxDown ',es16.8,' x2o_Faxa_lwdn hlwdn ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedLongWaveHeatFluxUp ; write(m,"('longWaveHeatFluxUp ',es16.8,' x2o_Foxx_lwup hlwup ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedLatentHeatFlux ; write(m,"('latentHeatFlux ',es16.8,' x2o_Foxx_lat hlatvap ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedMeltingSnowHeatFlux ; write(m,"('snowFlux * LHF ',es16.8,' hlatfus ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedMeltingIceRunoffHeatFlux; write(m,"('iceRunoffFlux * LHF ',es16.8,' hiroff ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
if (landIceFreshwaterFluxesOn) then
v=accumulatedRemovedIceRunoffHeatFlux; write(m,"('removedIceRunoffFlux *LHF',es16.8,' hiroff ',f16.8)") v,v/A; call mpas_log_write(m);
v=accumulatedRemovedIceRunoffHeatFlux; write(m,"('removedIceRunoffFlux *LHF',es16.8,' hiroff ',f16.8)") v,v/A; call mpas_log_write(m);
v=accumulatedMeltingIceRunoffHeatFlux+accumulatedRemovedIceRunoffHeatFlux
write(m,"(' SUM: ice runoff*LHF',es16.8,' hiroff SUM ',f16.8)") v,v/A; call mpas_log_write(m)
write(m,"(' SUM: ice runoff*LHF',es16.8,' hiroff SUM ',f16.8)") v,v/A; call mpas_log_write(m)
endif
v=accumulatedSensibleHeatFlux ; write(m,"('sensibleHeatFlux ',es16.8,' x2o_Foxx_sen hsen ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedIcebergHeatFlux ; write(m,"('icebergHeatFlux ',es16.8,' x2o_Fioi_bergh hberg ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedSensibleHeatFlux ; write(m,"('sensibleHeatFlux ',es16.8,' x2o_Foxx_sen hsen ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
v=accumulatedIcebergHeatFlux ; write(m,"('icebergHeatFlux ',es16.8,' x2o_Fioi_bergh hberg ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
if (landIceFreshwaterFluxesOn) then
v=accumulatedLandIceHeatFlux ; write(m,"('landIceHeatFlux ',es16.8,' ',f16.8)") v,v/A; call mpas_log_write(m); s=s+v
end if
Expand Down Expand Up @@ -1116,7 +1116,7 @@ subroutine mass_conservation(domain, err)
c = 1.0e6_RKIND/A
call mpas_log_write('MASS FLUXES')
call mpas_log_write('MPAS-Ocean name kg/s (F) coupler name short name kg/m^2/s*1e6 (F/A)')
v=accumulatedFrazilFlux ; write(m,"('frazilFreshwaterFlux ',es16.8,' o2x_Fioo_frazil wfreeze ',f16.8)") v,v*c; call mpas_log_write(m); s=s+v
v=accumulatedFrazilFlux ; write(m,"('frazilFreshwaterFlux ',es16.8,' o2x_Fioo_frazilm wfreeze ',f16.8)") v,v*c; call mpas_log_write(m); s=s+v
v=accumulatedSeaIceFlux ; write(m,"('seaIceFreshwaterFlux ',es16.8,' x2o_Fioi_meltw wmelt ',f16.8)") v,v*c; call mpas_log_write(m); s=s+v
v=accumulatedRainFlux ; write(m,"('rainFlux ',es16.8,' x2o_Faxa_rain wrain ',f16.8)") v,v*c; call mpas_log_write(m); s=s+v
v=accumulatedSnowFlux ; write(m,"('snowFlux ',es16.8,' x2o_Faxa_snow wsnow ',f16.8)") v,v*c; call mpas_log_write(m); s=s+v
Expand Down
Loading