@@ -1408,13 +1408,11 @@ subroutine glc_import_mct(x2g_g, errorCode)
1408
1408
OceanDensity
1409
1409
real (kind= RKIND), dimension (:,:), pointer :: ismip6shelfMelt_3dThermalForcing
1410
1410
integer , dimension (:,:), pointer :: orig3dOceanMask
1411
- real (kind= RKIND), pointer :: config_ice_density
1412
1411
real (kind= RKIND), pointer :: config_invalid_value_TF
1413
1412
real (kind= RKIND) :: fractionalMaskVal
1414
1413
1415
1414
errorCode = 0
1416
1415
1417
- call mpas_pool_get_config(domain % configs, ' config_ice_density' , config_ice_density)
1418
1416
call mpas_pool_get_config(domain % configs, ' config_invalid_value_TF' , config_invalid_value_TF)
1419
1417
1420
1418
n = 0
@@ -1493,7 +1491,6 @@ subroutine glc_export_mct(g2x_g, errorCode)
1493
1491
type (block_type), pointer :: block
1494
1492
1495
1493
real (kind= RKIND), pointer :: config_sea_level
1496
- real (kind= RKIND), pointer :: config_ice_density
1497
1494
character (len= StrKIND), pointer :: config_basal_mass_bal_float
1498
1495
1499
1496
type (mpas_pool_type), pointer :: meshPool
@@ -1508,10 +1505,9 @@ subroutine glc_export_mct(g2x_g, errorCode)
1508
1505
real (kind= RKIND), dimension (:), pointer :: thickness
1509
1506
real (kind= RKIND), dimension (:), pointer :: avgBareIceAblationApplied
1510
1507
real (kind= RKIND), dimension (:), pointer :: avgCalvingFlux
1508
+ real (kind= RKIND), dimension (:), pointer :: avgFaceMeltFlux
1509
+ real (kind= RKIND), dimension (:), pointer :: avgFloatingBMBFlux
1511
1510
real (kind= RKIND), dimension (:,:), pointer :: temperature
1512
- real (kind= RKIND), dimension (:), pointer :: faceMeltingThickness
1513
- real (kind= RKIND), dimension (:), pointer :: floatingBasalMassBalApplied
1514
- real (kind= RKIND), pointer :: deltat !< time step (s)
1515
1511
integer , dimension (:), pointer :: cellMask
1516
1512
!-------------------------------------------------------------------
1517
1513
@@ -1521,7 +1517,6 @@ subroutine glc_export_mct(g2x_g, errorCode)
1521
1517
block = > domain % blocklist
1522
1518
1523
1519
call mpas_pool_get_config(domain % configs, ' config_sea_level' , config_sea_level)
1524
- call mpas_pool_get_config(domain % configs, ' config_ice_density' , config_ice_density)
1525
1520
call mpas_pool_get_config(domain % configs, ' config_basal_mass_bal_float' , config_basal_mass_bal_float)
1526
1521
1527
1522
do while (associated(block))
@@ -1534,16 +1529,15 @@ subroutine glc_export_mct(g2x_g, errorCode)
1534
1529
call mpas_pool_get_subpool(block % structs, ' thermal' , thermalPool)
1535
1530
call mpas_pool_get_subpool(block % structs, ' timeAveraging' , timeAveragingPool)
1536
1531
1537
- call mpas_pool_get_array(meshPool, ' deltat' , deltat)
1538
1532
call mpas_pool_get_array(geometryPool, ' upperSurface' , upperSurface)
1539
1533
call mpas_pool_get_array(meshPool, ' layerThicknessFractions' , layerThicknessFractions)
1540
1534
call mpas_pool_get_array(geometryPool, ' thickness' , Thickness, timeLevel = 1 )
1541
1535
call mpas_pool_get_array(thermalPool, ' temperature' , temperature)
1542
- call mpas_pool_get_array(geometryPool, ' faceMeltingThickness' , faceMeltingThickness)
1543
- call mpas_pool_get_array(geometryPool, ' floatingBasalMassBalApplied' , floatingBasalMassBalApplied)
1544
1536
1545
- call mpas_pool_get_array(timeAveragingPool, ' avgBareIceAblationApplied' , avgBareIceAblationApplied)
1546
- call mpas_pool_get_array(timeAveragingPool, ' avgCalvingFlux' , avgCalvingFlux)
1537
+ call mpas_pool_get_array(timeAveragingPool, ' avgBareIceAblationApplied' , avgBareIceAblationApplied)
1538
+ call mpas_pool_get_array(timeAveragingPool, ' avgCalvingFlux' , avgCalvingFlux)
1539
+ call mpas_pool_get_array(timeAveragingPool, ' avgFaceMeltFlux' , avgFaceMeltFlux)
1540
+ call mpas_pool_get_array(timeAveragingPool, ' avgFloatingBMBFlux' , avgFloatingBMBFlux)
1547
1541
1548
1542
call mpas_pool_get_array(geometryPool, ' cellMask' , cellMask)
1549
1543
@@ -1556,13 +1550,11 @@ subroutine glc_export_mct(g2x_g, errorCode)
1556
1550
g2x_g % rAttr(index_g2x_Figg_rofi,n) = 0.0 ! placeholder
1557
1551
! Fogg_rofi
1558
1552
g2x_g % rAttr(index_g2x_Fogg_rofi,n) = avgCalvingFlux(i)
1559
- g2x_g % rAttr(index_g2x_Fogg_rofi,n) = g2x_g % rAttr(index_g2x_Fogg_rofi,n) + &
1560
- faceMeltingThickness(i) * config_ice_density / deltat ! units: kg/ m2/ s
1553
+ g2x_g % rAttr(index_g2x_Fogg_rofi,n) = g2x_g % rAttr(index_g2x_Fogg_rofi,n) + avgFaceMeltFlux(i)
1561
1554
if (trim (config_basal_mass_bal_float) == ' ismip6' ) then
1562
1555
! if MALI is calculating ISMF, add that to rofl
1563
1556
! In some configurations, ISMF will be calculated in coupler or MPAS- Ocean
1564
- g2x_g % rAttr(index_g2x_Fogg_rofi,n) = g2x_g % rAttr(index_g2x_Fogg_rofi,n) + &
1565
- floatingBasalMassBalApplied(i) ! units: kg/ m2/ s
1557
+ g2x_g % rAttr(index_g2x_Fogg_rofi,n) = g2x_g % rAttr(index_g2x_Fogg_rofi,n) + avgFloatingBMBFlux(i)
1566
1558
endif
1567
1559
1568
1560
g2x_g % rAttr(index_g2x_Sg_topo, n) = max (0.0 , upperSurface(i)) !updated to avoid warning for values below sea level
0 commit comments