Changeset 7786 for branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC
- Timestamp:
- 2017-03-10T17:37:18+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r7607 r7786 1411 1411 ! 1412 1412 INTEGER :: jl ! dummy loop index 1413 REAL(wp), POINTER, DIMENSION(:,: ) :: zcptn, ztmp, z icefr, zmsk, zsnw1413 REAL(wp), POINTER, DIMENSION(:,: ) :: zcptn, ztmp, zcptrain, zcptsnw, zicefr, zmsk, zsnw 1414 1414 REAL(wp), POINTER, DIMENSION(:,: ) :: zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip, zevap_oce, zevap_ice, zdevap_ice 1415 1415 REAL(wp), POINTER, DIMENSION(:,: ) :: zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice … … 1419 1419 IF( nn_timing == 1 ) CALL timing_start('sbc_cpl_ice_flx') 1420 1420 ! 1421 CALL wrk_alloc( jpi,jpj, zcptn, ztmp, z icefr, zmsk, zsnw )1421 CALL wrk_alloc( jpi,jpj, zcptn, ztmp, zcptrain, zcptsnw, zicefr, zmsk, zsnw ) 1422 1422 CALL wrk_alloc( jpi,jpj, zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip, zevap_oce, zevap_ice, zdevap_ice ) 1423 1423 CALL wrk_alloc( jpi,jpj, zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice ) … … 1631 1631 WHERE( p_frld /= 0._wp ) zqns_oce(:,:) = ( zqns_tot(:,:) - SUM( a_i * zqns_ice, dim=3 ) ) / p_frld(:,:) 1632 1632 1633 ! Heat content per unit mass of snow (J/kg) 1634 WHERE( SUM( a_i, dim=3 ) > 1.e-10 ) ; zcptsnw(:,:) = cpic * SUM( (tn_ice -rt0) * a_i, dim=3 ) / SUM( a_i, dim=3 ) 1635 ELSEWHERE ; zcptsnw(:,:) = zcptn(:,:) 1636 ENDWHERE 1637 ! Heat content per unit mass of rain (J/kg) 1638 zcptrain(:,:) = rcp * ( SUM( (tn_ice(:,:,:) -rt0) * a_i(:,:,:), dim=3 ) + sst_m(:,:) * p_frld(:,:) ) 1639 1633 1640 ! --- heat flux associated with emp (W/m2) --- ! 1634 1641 zqemp_oce(:,:) = - zevap_oce(:,:) * zcptn(:,:) & ! evap 1635 & + ( ztprecip(:,:) - zsprecip(:,:) ) * zcpt n(:,:) & ! liquid precip1636 & + zsprecip(:,:) * ( 1._wp - zsnw ) * ( zcpt n(:,:) - lfus ) ! solid precip over ocean + snow melting1642 & + ( ztprecip(:,:) - zsprecip(:,:) ) * zcptrain(:,:) & ! liquid precip 1643 & + zsprecip(:,:) * ( 1._wp - zsnw ) * ( zcptsnw(:,:) - lfus ) ! solid precip over ocean + snow melting 1637 1644 ! zqemp_ice(:,:) = - frcv(jpr_ievp)%z3(:,:,1) * zicefr(:,:) * zcptn(:,:) & ! ice evap 1638 1645 ! & + zsprecip(:,:) * zsnw * ( zcptn(:,:) - lfus ) ! solid precip over ice 1639 zqemp_ice(:,:) = zsprecip(:,:) * zsnw * ( zcpt n(:,:) - lfus ) ! solid precip over ice (only)1646 zqemp_ice(:,:) = zsprecip(:,:) * zsnw * ( zcptsnw(:,:) - lfus ) ! solid precip over ice (only) 1640 1647 ! qevap_ice=0 since we consider Tice=0degC 1641 1648 1642 1649 ! --- enthalpy of snow precip over ice in J/m3 (to be used in 1D-thermo) --- ! 1643 zqprec_ice(:,:) = rhosn * ( zcptn(:,:) - lfus ) 1650 zqprec_ice(:,:) = rhosn * ( zcptsnw(:,:) - lfus ) 1651 !zqprec_ice(:,:) = rhosn * ( zcptn(:,:) - lfus ) 1652 1644 1653 1645 1654 ! --- heat content of evap over ice in W/m2 (to be used in 1D-thermo) --- ! … … 1802 1811 fr2_i0(:,:) = ( 0.82 * ( 1.0 - cldf_ice ) + 0.65 * cldf_ice ) 1803 1812 1804 CALL wrk_dealloc( jpi,jpj, zcptn, ztmp, z icefr, zmsk, zsnw )1813 CALL wrk_dealloc( jpi,jpj, zcptn, ztmp, zcptrain, zcptsnw, zicefr, zmsk, zsnw ) 1805 1814 CALL wrk_dealloc( jpi,jpj, zemp_tot, zemp_ice, zemp_oce, ztprecip, zsprecip, zevap_oce, zevap_ice, zdevap_ice ) 1806 1815 CALL wrk_dealloc( jpi,jpj, zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice )
Note: See TracChangeset
for help on using the changeset viewer.