@@ -1180,15 +1180,16 @@ subroutine buoyancy_forcing_from_files(sfc_state, fluxes, day, dt, G, US, CS)
1180
1180
! assume solid runoff (calving) enters ocean at 0degC
1181
1181
! mass leaving the ocean has heat_content determined in MOM_diabatic_driver.F90
1182
1182
do j= js,je ; do i= is,ie
1183
- fluxes% evap(i,j) = fluxes% evap(i,j) * G% mask2dT(i,j)
1184
- fluxes% lprec(i,j) = fluxes% lprec(i,j) * G% mask2dT(i,j)
1185
- fluxes% fprec(i,j) = fluxes% fprec(i,j) * G% mask2dT(i,j)
1186
- fluxes% lrunoff(i,j) = fluxes% lrunoff(i,j) * G% mask2dT(i,j)
1187
- fluxes% frunoff(i,j) = fluxes% frunoff(i,j) * G% mask2dT(i,j)
1188
- fluxes% lw(i,j) = fluxes% lw(i,j) * G% mask2dT(i,j)
1189
- fluxes% sens(i,j) = fluxes% sens(i,j) * G% mask2dT(i,j)
1190
- fluxes% sw(i,j) = fluxes% sw(i,j) * G% mask2dT(i,j)
1191
- fluxes% latent(i,j) = fluxes% latent(i,j) * G% mask2dT(i,j)
1183
+ fluxes% evap(i,j) = fluxes% evap(i,j) * G% mask2dT(i,j)
1184
+ fluxes% lprec(i,j) = fluxes% lprec(i,j) * G% mask2dT(i,j)
1185
+ fluxes% fprec(i,j) = fluxes% fprec(i,j) * G% mask2dT(i,j)
1186
+ fluxes% seaice_melt(i,j) = fluxes% seaice_melt(i,j) * G% mask2dT(i,j)
1187
+ fluxes% lrunoff(i,j) = fluxes% lrunoff(i,j) * G% mask2dT(i,j)
1188
+ fluxes% frunoff(i,j) = fluxes% frunoff(i,j) * G% mask2dT(i,j)
1189
+ fluxes% lw(i,j) = fluxes% lw(i,j) * G% mask2dT(i,j)
1190
+ fluxes% sens(i,j) = fluxes% sens(i,j) * G% mask2dT(i,j)
1191
+ fluxes% sw(i,j) = fluxes% sw(i,j) * G% mask2dT(i,j)
1192
+ fluxes% latent(i,j) = fluxes% latent(i,j) * G% mask2dT(i,j)
1192
1193
1193
1194
fluxes% latent_evap_diag(i,j) = fluxes% latent_evap_diag(i,j) * G% mask2dT(i,j)
1194
1195
fluxes% latent_fprec_diag(i,j) = - fluxes% fprec(i,j)* CS% latent_heat_fusion
@@ -1294,10 +1295,11 @@ subroutine buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US
1294
1295
fluxes% latent_evap_diag(i,j) = fluxes% latent(i,j)
1295
1296
enddo ; enddo
1296
1297
1297
- call data_override(G% Domain, ' snow' , fluxes% fprec, day, scale= US% kg_m2s_to_RZ_T)
1298
- call data_override(G% Domain, ' rain' , fluxes% lprec, day, scale= US% kg_m2s_to_RZ_T)
1299
- call data_override(G% Domain, ' runoff' , fluxes% lrunoff, day, scale= US% kg_m2s_to_RZ_T)
1300
- call data_override(G% Domain, ' calving' , fluxes% frunoff, day, scale= US% kg_m2s_to_RZ_T)
1298
+ call data_override(G% Domain, ' snow' , fluxes% fprec, day, scale= US% kg_m2s_to_RZ_T)
1299
+ call data_override(G% Domain, ' rain' , fluxes% lprec, day, scale= US% kg_m2s_to_RZ_T)
1300
+ call data_override(G% Domain, ' seaice_melt' , fluxes% seaice_melt, day, scale= US% kg_m2s_to_RZ_T)
1301
+ call data_override(G% Domain, ' runoff' , fluxes% lrunoff, day, scale= US% kg_m2s_to_RZ_T)
1302
+ call data_override(G% Domain, ' calving' , fluxes% frunoff, day, scale= US% kg_m2s_to_RZ_T)
1301
1303
1302
1304
! Read the SST and SSS fields for damping.
1303
1305
if (CS% restorebuoy) then ! #CTRL# .or. associated(CS%ctrl_forcing_CSp)) then
@@ -1345,15 +1347,16 @@ subroutine buoyancy_forcing_from_data_override(sfc_state, fluxes, day, dt, G, US
1345
1347
! assume solid runoff (calving) enters ocean at 0degC
1346
1348
! mass leaving ocean has heat_content determined in MOM_diabatic_driver.F90
1347
1349
do j= js,je ; do i= is,ie
1348
- fluxes% evap(i,j) = fluxes% evap(i,j) * G% mask2dT(i,j)
1349
- fluxes% lprec(i,j) = fluxes% lprec(i,j) * G% mask2dT(i,j)
1350
- fluxes% fprec(i,j) = fluxes% fprec(i,j) * G% mask2dT(i,j)
1351
- fluxes% lrunoff(i,j) = fluxes% lrunoff(i,j) * G% mask2dT(i,j)
1352
- fluxes% frunoff(i,j) = fluxes% frunoff(i,j) * G% mask2dT(i,j)
1353
- fluxes% lw(i,j) = fluxes% lw(i,j) * G% mask2dT(i,j)
1354
- fluxes% latent(i,j) = fluxes% latent(i,j) * G% mask2dT(i,j)
1355
- fluxes% sens(i,j) = fluxes% sens(i,j) * G% mask2dT(i,j)
1356
- fluxes% sw(i,j) = fluxes% sw(i,j) * G% mask2dT(i,j)
1350
+ fluxes% evap(i,j) = fluxes% evap(i,j) * G% mask2dT(i,j)
1351
+ fluxes% lprec(i,j) = fluxes% lprec(i,j) * G% mask2dT(i,j)
1352
+ fluxes% fprec(i,j) = fluxes% fprec(i,j) * G% mask2dT(i,j)
1353
+ fluxes% seaice_melt(i,j) = fluxes% seaice_melt(i,j) * G% mask2dT(i,j)
1354
+ fluxes% lrunoff(i,j) = fluxes% lrunoff(i,j) * G% mask2dT(i,j)
1355
+ fluxes% frunoff(i,j) = fluxes% frunoff(i,j) * G% mask2dT(i,j)
1356
+ fluxes% lw(i,j) = fluxes% lw(i,j) * G% mask2dT(i,j)
1357
+ fluxes% latent(i,j) = fluxes% latent(i,j) * G% mask2dT(i,j)
1358
+ fluxes% sens(i,j) = fluxes% sens(i,j) * G% mask2dT(i,j)
1359
+ fluxes% sw(i,j) = fluxes% sw(i,j) * G% mask2dT(i,j)
1357
1360
1358
1361
fluxes% latent_evap_diag(i,j) = fluxes% latent_evap_diag(i,j) * G% mask2dT(i,j)
1359
1362
fluxes% latent_fprec_diag(i,j) = - fluxes% fprec(i,j)* CS% latent_heat_fusion
@@ -1395,6 +1398,7 @@ subroutine buoyancy_forcing_zero(sfc_state, fluxes, day, dt, G, CS)
1395
1398
fluxes% evap(i,j) = 0.0
1396
1399
fluxes% lprec(i,j) = 0.0
1397
1400
fluxes% fprec(i,j) = 0.0
1401
+ fluxes% seaice_melt(i,j) = 0.0
1398
1402
fluxes% vprec(i,j) = 0.0
1399
1403
fluxes% lrunoff(i,j) = 0.0
1400
1404
fluxes% frunoff(i,j) = 0.0
@@ -1438,6 +1442,7 @@ subroutine buoyancy_forcing_const(sfc_state, fluxes, day, dt, G, US, CS)
1438
1442
fluxes% evap(i,j) = 0.0
1439
1443
fluxes% lprec(i,j) = 0.0
1440
1444
fluxes% fprec(i,j) = 0.0
1445
+ fluxes% seaice_melt(i,j) = 0.0
1441
1446
fluxes% vprec(i,j) = 0.0
1442
1447
fluxes% lrunoff(i,j) = 0.0
1443
1448
fluxes% frunoff(i,j) = 0.0
@@ -1486,6 +1491,7 @@ subroutine buoyancy_forcing_linear(sfc_state, fluxes, day, dt, G, US, CS)
1486
1491
fluxes% evap(i,j) = 0.0
1487
1492
fluxes% lprec(i,j) = 0.0
1488
1493
fluxes% fprec(i,j) = 0.0
1494
+ fluxes% seaice_melt(i,j) = 0.0
1489
1495
fluxes% vprec(i,j) = 0.0
1490
1496
fluxes% lrunoff(i,j) = 0.0
1491
1497
fluxes% frunoff(i,j) = 0.0
0 commit comments