Changeset 7963 for branches/2015/nemo_v3_6_STABLE
- Timestamp:
- 2017-04-24T18:28:04+02:00 (7 years ago)
- Location:
- branches/2015/nemo_v3_6_STABLE/NEMOGCM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/nemo_v3_6_STABLE/NEMOGCM/CONFIG/SHARED/field_def.xml
r7607 r7963 226 226 <field id="calving_cea" long_name="Calving" standard_name="water_flux_into_sea_water_from_icebergs" unit="kg/m2/s" /> 227 227 <field id="iceberg_cea" long_name="Iceberg" standard_name="water_flux_into_sea_water_from_icebergs" unit="kg/m2/s" /> 228 <field id="iceshelf_cea" long_name="Iceshelf"standard_name="water_flux_into_sea_water_from_iceshelf" unit="kg/m2/s" />228 <field id="iceshelf_cea" long_name="Iceshelf" standard_name="water_flux_into_sea_water_from_iceshelf" unit="kg/m2/s" /> 229 229 230 230 <!-- available if key_oasis3 + conservative method --> … … 236 236 <field id="fsal_real_cea" long_name="Real salt flux due to ice formation (cell average)" standard_name="downward_sea_ice_basal_salt_flux" unit="kg/m2/s" /> 237 237 <field id="hflx_rain_cea" long_name="heat flux due to rainfall" standard_name="temperature_flux_due_to_rainfall_expressed_as_heat_flux_into_sea_water" unit="W/m2" /> 238 <field id="hflx_prec_cea" long_name="heat flux due to precipitation" standard_name="temperature_flux_due_to_precipitation_expressed_as_heat_flux _into_sea_water"unit="W/m2" />238 <field id="hflx_prec_cea" long_name="heat flux due to precipitation" standard_name="temperature_flux_due_to_precipitation_expressed_as_heat_flux" unit="W/m2" /> 239 239 <field id="hflx_evap_cea" long_name="heat flux due to evaporation" standard_name="temperature_flux_due_to_evaporation_expressed_as_heat_flux_out_of_sea_water" unit="W/m2" /> 240 240 <field id="hflx_snow_cea" long_name="heat flux due to snow falling" standard_name="heat_flux_onto_ocean_and_ice_due_to_snow_thermodynamics" unit="W/m2" /> … … 243 243 <field id="hflx_ice_cea" long_name="heat flux due to ice thermodynamics" standard_name="heat_flux_into_sea_water_due_to_sea_ice_thermodynamics" unit="W/m2" /> 244 244 <field id="hflx_rnf_cea" long_name="heat flux due to runoffs" standard_name="temperature_flux_due_to_runoff_expressed_as_heat_flux_into_sea_water" unit="W/m2" /> 245 <field id="hflx_cal_cea" long_name="heat flux due to calving" standard_name="heat_flux_into_sea_water_due_to_iceberg_thermodynamics" unit="W/m2" /> 245 <field id="hflx_cal_cea" long_name="heat flux due to calving" standard_name="heat_flux_into_sea_water_due_to_calving" unit="W/m2" /> 246 <field id="hflx_icb_cea" long_name="heat flux due to iceberg" standard_name="heat_flux_into_sea_water_due_to_icebergs" unit="W/m2" /> 247 <field id="hflx_isf_cea" long_name="heat flux due to iceshelf" standard_name="heat_flux_into_sea_water_due_to_iceshelf" unit="W/m2" /> 246 248 <field id="bicemel_cea" long_name="Rate of Melt at Sea Ice Base (cell average)" standard_name="tendency_of_sea_ice_amount_due_to_basal_melting" unit="kg/m2/s" /> 247 249 <field id="licepro_cea" long_name="Lateral Sea Ice Growth Rate (cell average)" standard_name="tendency_of_sea_ice_amount_due_to_lateral_growth_of_ice_floes" unit="kg/m2/s" /> -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r7951 r7963 1393 1393 !! qsr_tot = pfrld * qsr_oce + ( 1 - pfrld ) * qsr_ice => provided 1394 1394 !! 1395 !! emp_tot = emp_oce + emp_ice => calving is provided and added to emp_tot (and emp_oce) 1396 !! river runoff (rnf) is provided but not included here 1397 !! 1395 !! emp_tot = emp_oce + emp_ice => calving is provided and added to emp_tot (and emp_oce). 1396 !! runoff (which includes rivers+icebergs) and iceshelf 1397 !! are provided but not included in emp here. Only runoff will 1398 !! be included in emp in other parts of NEMO code 1398 1399 !! ** Action : update at each nf_ice time step: 1399 1400 !! qns_tot, qsr_tot non-solar and solar total heat fluxes … … 1411 1412 ! 1412 1413 INTEGER :: jl ! dummy loop index 1413 REAL(wp), POINTER, DIMENSION(:,: ) :: zcptn, z tmp, zcptrain, zcptsnw, zicefr, zmsk, zsnw1414 REAL(wp), POINTER, DIMENSION(:,: ) :: zcptn, zcptrain, zcptsnw, zicefr, zmsk, zsnw 1414 1415 REAL(wp), POINTER, DIMENSION(:,: ) :: zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip, zevap_oce, zevap_ice, zdevap_ice 1415 1416 REAL(wp), POINTER, DIMENSION(:,: ) :: zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice … … 1419 1420 IF( nn_timing == 1 ) CALL timing_start('sbc_cpl_ice_flx') 1420 1421 ! 1421 CALL wrk_alloc( jpi,jpj, zcptn, z tmp, zcptrain, zcptsnw, zicefr, zmsk, zsnw )1422 CALL wrk_alloc( jpi,jpj, zcptn, zcptrain, zcptsnw, zicefr, zmsk, zsnw ) 1422 1423 CALL wrk_alloc( jpi,jpj, zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip, zevap_oce, zevap_ice, zdevap_ice ) 1423 1424 CALL wrk_alloc( jpi,jpj, zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice ) … … 1442 1443 zemp_tot(:,:) = frcv(jpr_tevp)%z3(:,:,1) - ztprecip(:,:) 1443 1444 zemp_ice(:,:) = ( frcv(jpr_ievp)%z3(:,:,1) - frcv(jpr_snow)%z3(:,:,1) ) * zicefr(:,:) 1444 IF( iom_use('precip') ) &1445 & CALL iom_put( 'precip' , frcv(jpr_rain)%z3(:,:,1) + frcv(jpr_snow)%z3(:,:,1) ) ! total precipitation1446 IF( iom_use('rain') ) &1447 & CALL iom_put( 'rain' , frcv(jpr_rain)%z3(:,:,1) ) ! liquid precipitation1448 IF( iom_use('rain_ao_cea') ) &1449 & CALL iom_put( 'rain_ao_cea' , frcv(jpr_rain)%z3(:,:,1)* p_frld(:,:) * tmask(:,:,1) ) ! liquid precipitation1450 IF( iom_use('hflx_rain_cea') ) &1451 CALL iom_put( 'hflx_rain_cea', frcv(jpr_rain)%z3(:,:,1) * zcptn(:,:) * tmask(:,:,1)) ! heat flux from liq. precip.1452 IF( iom_use('hflx_prec_cea') ) &1453 CALL iom_put( 'hflx_prec_cea', ztprecip * zcptn(:,:) * tmask(:,:,1) * p_frld(:,:) ) ! heat content flux from all precip (cell avg)1454 IF( iom_use('evap_ao_cea') .OR. iom_use('hflx_evap_cea') ) &1455 ztmp(:,:) = frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:)1456 IF( iom_use('evap_ao_cea' ) ) &1457 CALL iom_put( 'evap_ao_cea' , ztmp * tmask(:,:,1) ) ! ice-free oce evap (cell average)1458 IF( iom_use('hflx_evap_cea') ) &1459 CALL iom_put( 'hflx_evap_cea', ztmp(:,:) * zcptn(:,:) * tmask(:,:,1) ) ! heat flux from from evap (cell average)1460 1445 CASE( 'oce and ice' ) ! received fields: jpr_sbpr, jpr_semp, jpr_oemp, jpr_ievp 1461 1446 zemp_tot(:,:) = p_frld(:,:) * frcv(jpr_oemp)%z3(:,:,1) + zicefr(:,:) * frcv(jpr_sbpr)%z3(:,:,1) … … 1466 1451 1467 1452 #if defined key_lim3 1468 ! zsnw = snow fraction over ice after wind blowing 1453 ! zsnw = snow fraction over ice after wind blowing (=zicefr if no blowing) 1469 1454 zsnw(:,:) = 0._wp ; CALL lim_thd_snwblow( p_frld, zsnw ) 1470 1455 … … 1479 1464 zevap_ice(:,:) = frcv(jpr_ievp)%z3(:,:,1) 1480 1465 ! since the sensitivity of evap to temperature (devap/dT) is not prescribed by the atmosphere, we set it to 0 1481 ! therefore, sublimation is not redistributed over the ice categories in caseno subgrid scale fluxes are provided by atm.1466 ! therefore, sublimation is not redistributed over the ice categories when no subgrid scale fluxes are provided by atm. 1482 1467 zdevap_ice(:,:) = 0._wp 1483 1468 1484 ! --- runoffs (included in emp later on)--- !1485 IF( srcv(jpr_rnf)%laction ) rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1)1486 1487 ! --- calving (put in emp_tot and emp_oce) --- !1488 IF( srcv(jpr_cal)%laction ) THEN 1469 ! --- Continental fluxes --- ! 1470 IF( srcv(jpr_rnf)%laction ) THEN ! runoffs (included in emp later on) 1471 rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) 1472 ENDIF 1473 IF( srcv(jpr_cal)%laction ) THEN ! calving (put in emp_tot and emp_oce) 1489 1474 zemp_tot(:,:) = zemp_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) 1490 1475 zemp_oce(:,:) = zemp_oce(:,:) - frcv(jpr_cal)%z3(:,:,1) 1491 CALL iom_put( 'calving_cea', frcv(jpr_cal)%z3(:,:,1) ) 1492 ENDIF 1493 1494 IF( srcv(jpr_icb)%laction ) THEN 1476 ENDIF 1477 IF( srcv(jpr_icb)%laction ) THEN ! iceberg added to runoffs 1495 1478 fwficb(:,:) = frcv(jpr_icb)%z3(:,:,1) 1496 rnf(:,:) = rnf(:,:) + fwficb(:,:) ! iceberg added to runoffs 1497 CALL iom_put( 'iceberg_cea', frcv(jpr_icb)%z3(:,:,1) ) 1498 ENDIF 1499 IF( srcv(jpr_isf)%laction ) THEN 1500 fwfisf(:,:) = - frcv(jpr_isf)%z3(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting) 1501 CALL iom_put( 'iceshelf_cea', frcv(jpr_isf)%z3(:,:,1) ) 1502 ENDIF 1503 1479 rnf(:,:) = rnf(:,:) + fwficb(:,:) 1480 ENDIF 1481 IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf <0 mean melting) 1482 fwfisf(:,:) = - frcv(jpr_isf)%z3(:,:,1) 1483 ENDIF 1504 1484 1505 1485 IF( ln_mixcpl ) THEN … … 1525 1505 ENDIF 1526 1506 1527 IF( iom_use('subl_ai_cea') ) CALL iom_put( 'subl_ai_cea', zevap_ice(:,:) * zicefr(:,:) ) ! Sublimation over sea-ice (cell average)1528 CALL iom_put( 'snowpre' , sprecip(:,:) ) ! Snow1529 IF( iom_use('snow_ao_cea') ) CALL iom_put( 'snow_ao_cea', sprecip(:,:) * ( 1._wp - zsnw(:,:) ) ) ! Snow over ice-free ocean (cell average)1530 IF( iom_use('snow_ai_cea') ) CALL iom_put( 'snow_ai_cea', sprecip(:,:) * zsnw(:,:) ) ! Snow over sea-ice (cell average)1531 1507 #else 1532 ! runoffs and calving (put in emp_tot) 1533 IF( srcv(jpr_rnf)%laction ) rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) 1534 IF( iom_use('hflx_rnf_cea') ) & 1535 CALL iom_put( 'hflx_rnf_cea' , rnf(:,:) * zcptn(:,:) ) 1536 IF( srcv(jpr_cal)%laction ) THEN 1508 zsnw(:,:) = zicefr(:,:) 1509 ! --- Continental fluxes --- ! 1510 IF( srcv(jpr_rnf)%laction ) THEN ! runoffs (included in emp later on) 1511 rnf(:,:) = frcv(jpr_rnf)%z3(:,:,1) 1512 ENDIF 1513 IF( srcv(jpr_cal)%laction ) THEN ! calving (put in emp_tot) 1537 1514 zemp_tot(:,:) = zemp_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) 1538 CALL iom_put( 'calving_cea', frcv(jpr_cal)%z3(:,:,1) ) 1539 ENDIF 1540 1541 1542 IF( srcv(jpr_icb)%laction ) THEN 1515 ENDIF 1516 IF( srcv(jpr_icb)%laction ) THEN ! iceberg added to runoffs 1543 1517 fwficb(:,:) = frcv(jpr_icb)%z3(:,:,1) 1544 rnf(:,:) = rnf(:,:) + fwficb(:,:) ! iceberg added to runoffs 1545 CALL iom_put( 'iceberg_cea', frcv(jpr_icb)%z3(:,:,1) ) 1546 ENDIF 1547 IF( srcv(jpr_isf)%laction ) THEN 1548 fwfisf(:,:) = - frcv(jpr_isf)%z3(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting) 1549 CALL iom_put( 'iceshelf_cea', frcv(jpr_isf)%z3(:,:,1) ) 1550 ENDIF 1551 1518 rnf(:,:) = rnf(:,:) + fwficb(:,:) 1519 ENDIF 1520 IF( srcv(jpr_isf)%laction ) THEN ! iceshelf (fwfisf <0 mean melting) 1521 fwfisf(:,:) = - frcv(jpr_isf)%z3(:,:,1) 1522 ENDIF 1552 1523 1553 1524 IF( ln_mixcpl ) THEN … … 1563 1534 ENDIF 1564 1535 1565 IF( iom_use('subl_ai_cea') ) CALL iom_put( 'subl_ai_cea', frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) ) ! Sublimation over sea-ice (cell average)1566 CALL iom_put( 'snowpre' , sprecip(:,:) ) ! Snow1567 IF( iom_use('snow_ao_cea') ) CALL iom_put( 'snow_ao_cea', sprecip(:,:) * p_frld(:,:) ) ! Snow over ice-free ocean (cell average)1568 IF( iom_use('snow_ai_cea') ) CALL iom_put( 'snow_ai_cea', sprecip(:,:) * zicefr(:,:) ) ! Snow over sea-ice (cell average)1569 1536 #endif 1570 1537 ! outputs 1538 !! IF( srcv(jpr_rnf)%laction ) CALL iom_put( 'runoffs' , rnf(:,:) * tmask(:,:,1) ) ! runoff 1539 !! IF( srcv(jpr_isf)%laction ) CALL iom_put( 'iceshelf_cea', -fwfisf(:,:) * tmask(:,:,1) ) ! iceshelf 1540 IF( srcv(jpr_cal)%laction ) CALL iom_put( 'calving_cea' , frcv(jpr_cal)%z3(:,:,1) * tmask(:,:,1) ) ! calving 1541 IF( srcv(jpr_icb)%laction ) CALL iom_put( 'iceberg_cea' , frcv(jpr_icb)%z3(:,:,1) * tmask(:,:,1) ) ! icebergs 1542 IF( iom_use('snowpre') ) CALL iom_put( 'snowpre' , sprecip(:,:) ) ! Snow 1543 IF( iom_use('precip') ) CALL iom_put( 'precip' , tprecip(:,:) ) ! total precipitation 1544 IF( iom_use('rain') ) CALL iom_put( 'rain' , tprecip(:,:) - sprecip(:,:) ) ! liquid precipitation 1545 IF( iom_use('snow_ao_cea') ) CALL iom_put( 'snow_ao_cea' , sprecip(:,:) * ( 1._wp - zsnw(:,:) ) ) ! Snow over ice-free ocean (cell average) 1546 IF( iom_use('snow_ai_cea') ) CALL iom_put( 'snow_ai_cea' , sprecip(:,:) * zsnw(:,:) ) ! Snow over sea-ice (cell average) 1547 IF( iom_use('rain_ao_cea') ) CALL iom_put( 'rain_ao_cea' , ( tprecip(:,:) - sprecip(:,:) ) * p_frld(:,:) ) ! liquid precipitation over ocean (cell average) 1548 IF( iom_use('subl_ai_cea') ) CALL iom_put( 'subl_ai_cea' , frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) * tmask(:,:,1) ) ! Sublimation over sea-ice (cell average) 1549 IF( iom_use('evap_ao_cea') ) CALL iom_put( 'evap_ao_cea' , ( frcv(jpr_tevp)%z3(:,:,1) & 1550 & - frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) ) * tmask(:,:,1) ) ! ice-free oce evap (cell average) 1551 ! note: runoff output is done in sbcrnf (which includes icebergs too) and iceshelf output is done in sbcisf 1552 ! 1571 1553 ! ! ========================= ! 1572 1554 SELECT CASE( TRIM( sn_rcv_qns%cldes ) ) ! non solar heat fluxes ! (qns) … … 1604 1586 & + pist(:,:,1) * zicefr(:,:) ) ) 1605 1587 END SELECT 1606 !!gm1607 !! currently it is taken into account in leads budget but not in the zqns_tot, and thus not in1608 !! the flux that enter the ocean....1609 !! moreover 1 - it is not diagnose anywhere....1610 !! 2 - it is unclear for me whether this heat lost is taken into account in the atmosphere or not...1611 !!1612 !! similar job should be done for snow and precipitation temperature1613 1588 ! 1614 IF( srcv(jpr_cal)%laction ) THEN ! Iceberg melting 1615 zqns_tot(:,:) = zqns_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) * lfus ! add the latent heat of iceberg melting 1616 ! we suppose it melts at 0deg, though it should be temp. of surrounding ocean 1617 IF( iom_use('hflx_cal_cea') ) CALL iom_put( 'hflx_cal_cea', - frcv(jpr_cal)%z3(:,:,1) * lfus ) ! heat flux from calving 1618 ENDIF 1619 1620 !!chris 1621 !! The heat content associated to the ice shelf in removed in the routine sbcisf.F90 1622 ! 1623 IF( srcv(jpr_icb)%laction ) zqns_tot(:,:) = zqns_tot(:,:) - frcv(jpr_icb)%z3(:,:,1) * lfus ! remove heat content associated to iceberg melting 1624 1589 ! --- calving (removed from qns_tot) --- ! 1590 IF( srcv(jpr_cal)%laction ) zqns_tot(:,:) = zqns_tot(:,:) - frcv(jpr_cal)%z3(:,:,1) * lfus ! remove latent heat of calving 1591 ! we suppose it melts at 0deg, though it should be temp. of surrounding ocean 1592 ! --- iceberg (removed from qns_tot) --- ! 1593 IF( srcv(jpr_icb)%laction ) zqns_tot(:,:) = zqns_tot(:,:) - frcv(jpr_icb)%z3(:,:,1) * lfus ! remove latent heat of iceberg melting 1625 1594 1626 1595 #if defined key_lim3 … … 1677 1646 ENDIF 1678 1647 1679 ! some more outputs1680 IF( iom_use('hflx_snow_cea') ) CALL iom_put('hflx_snow_cea', sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) ) ! heat flux from snow (cell average)1681 IF( iom_use('hflx_rain_cea') ) CALL iom_put('hflx_rain_cea', ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) ! heat flux from rain (cell average)1682 IF( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea',sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) * (1._wp - zsnw(:,:)) ) ! heat flux from snow (over ocean)1683 IF( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea',sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) * zsnw(:,:) ) ! heat flux from snow (over ice)1684 1685 1648 #else 1649 zcptsnw (:,:) = zcptn(:,:) 1650 zcptrain(:,:) = zcptn(:,:) 1651 1686 1652 ! clem: this formulation is certainly wrong... but better than it was... 1687 zqns_tot(:,:) = zqns_tot(:,:) &! zqns_tot update over free ocean with:1688 & - ztmp(:,:) &! remove the latent heat flux of solid precip. melting1689 & - ( zemp_tot(:,:) &! remove the heat content of mass flux (assumed to be at SST)1653 zqns_tot(:,:) = zqns_tot(:,:) & ! zqns_tot update over free ocean with: 1654 & - ( p_frld(:,:) * zsprecip(:,:) * lfus ) & ! remove the latent heat flux of solid precip. melting 1655 & - ( zemp_tot(:,:) & ! remove the heat content of mass flux (assumed to be at SST) 1690 1656 & - zemp_ice(:,:) ) * zcptn(:,:) 1691 1657 … … 1700 1666 qns_ice(:,:,:) = zqns_ice(:,:,:) 1701 1667 ENDIF 1668 1702 1669 #endif 1703 1670 ! outputs 1671 IF( srcv(jpr_cal)%laction ) CALL iom_put('hflx_cal_cea' , - frcv(jpr_cal)%z3(:,:,1) * lfus ) ! latent heat from calving 1672 IF( srcv(jpr_icb)%laction ) CALL iom_put('hflx_icb_cea' , - frcv(jpr_icb)%z3(:,:,1) * lfus ) ! latent heat from icebergs melting 1673 IF( iom_use('hflx_snow_cea') ) CALL iom_put('hflx_snow_cea', sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) ) ! heat flux from snow (cell average) 1674 IF( iom_use('hflx_rain_cea') ) CALL iom_put('hflx_rain_cea',( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) ! heat flux from rain (cell average) 1675 IF( iom_use('hflx_evap_cea') ) CALL iom_put('hflx_evap_cea',(frcv(jpr_tevp)%z3(:,:,1) - frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) & ! heat flux from from evap (cell average) 1676 & ) * zcptn(:,:) * tmask(:,:,1) ) 1677 IF( iom_use('hflx_prec_cea') ) CALL iom_put('hflx_prec_cea', sprecip(:,:) * ( zcptsnw(:,:) - Lfus ) + & ! heat flux from all precip (cell avg) 1678 & ( tprecip(:,:) - sprecip(:,:) ) * zcptrain(:,:) ) 1679 IF( iom_use('hflx_snow_ao_cea') ) CALL iom_put('hflx_snow_ao_cea',sprecip(:,:) * (zcptsnw(:,:) - Lfus) * (1._wp - zsnw(:,:)) ) ! heat flux from snow (over ocean) 1680 IF( iom_use('hflx_snow_ai_cea') ) CALL iom_put('hflx_snow_ai_cea',sprecip(:,:) * (zcptsnw(:,:) - Lfus) * zsnw(:,:) ) ! heat flux from snow (over ice) 1681 ! note: hflx for runoff and iceshelf are done in sbcrnf and sbcisf resp. 1682 ! 1704 1683 ! ! ========================= ! 1705 1684 SELECT CASE( TRIM( sn_rcv_qsr%cldes ) ) ! solar heat fluxes ! (qsr) … … 1807 1786 fr2_i0(:,:) = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice ) 1808 1787 1809 CALL wrk_dealloc( jpi,jpj, zcptn, z tmp, zcptrain, zcptsnw, zicefr, zmsk, zsnw )1788 CALL wrk_dealloc( jpi,jpj, zcptn, zcptrain, zcptsnw, zicefr, zmsk, zsnw ) 1810 1789 CALL wrk_dealloc( jpi,jpj, zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip, zevap_oce, zevap_ice, zdevap_ice ) 1811 1790 CALL wrk_dealloc( jpi,jpj, zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice ) -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r7784 r7963 170 170 risf_tsc(:,:,jp_sal) = (1.0_wp-rdivisf) * fwfisf(:,:) * stbl(:,:) * r1_rau0 171 171 172 ! output173 IF( iom_use('qlatisf' ) ) CALL iom_put('qlatisf', qisf)174 IF( iom_use('fwfisf' ) ) CALL iom_put('fwfisf' , fwfisf * stbl(:,:) / soce )175 176 172 ! if apply only on the trend and not as a volume flux (rdivisf = 0), fwfisf have to be set to 0 now 177 173 fwfisf(:,:) = rdivisf * fwfisf(:,:) … … 182 178 CALL lbc_lnk(fwfisf(:,:) ,'T',1.) 183 179 CALL lbc_lnk(qisf(:,:) ,'T',1.) 180 181 ! output 182 IF( iom_use('iceshelf_cea') ) CALL iom_put( 'iceshelf_cea', -fwfisf(:,:) ) ! isf mass flux 183 IF( iom_use('hflx_isf_cea') ) CALL iom_put( 'hflx_isf_cea', risf_tsc(:,:,jp_tem) * rau0 * rcp ) ! isf sensible+latent heat (W/m2) 184 IF( iom_use('qlatisf' ) ) CALL iom_put( 'qlatisf' , qisf(:,:) ) ! isf latent heat 185 IF( iom_use('fwfisf' ) ) CALL iom_put( 'fwfisf' , fwfisf(:,:) ) ! isf mass flux (opposite sign) 184 186 185 187 ! Diagnostics -
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
r6459 r7963 138 138 IF( ln_rnf_sal ) rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rau0 139 139 ! ! else use S=0 for runoffs (done one for all in the init) 140 CALL iom_put( "runoffs", rnf ) ! output runoffs arrays 140 IF( iom_use('runoffs') ) CALL iom_put( 'runoffs' , rnf(:,:) ) ! output runoff mass flux 141 IF( iom_use('hflx_rnf_cea') ) CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rau0 * rcp ) ! output runoff sensible heat (W/m2) 141 142 ENDIF 142 143 !
Note: See TracChangeset
for help on using the changeset viewer.