New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 1860 for trunk – NEMO

Changeset 1860 for trunk


Ignore:
Timestamp:
2010-05-08T11:23:48+02:00 (14 years ago)
Author:
gm
Message:

ticket:#537 phycst & sbccpl use of lfus

Location:
trunk/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/phycst.F90

    r1739 r1860  
    44   !!     Definition of of both ocean and ice parameters used in the code 
    55   !!===================================================================== 
    6    !! History :        !  90-10  (C. Levy - G. Madec)  Original code 
    7    !!                  !  91-11  (G. Madec) 
    8    !!                  !  91-12  (M. Imbard) 
    9    !!             8.5  !  02-08  (G. Madec, C. Ethe)  F90, add ice constants 
    10    !!             9.0  !  06-08  (G. Madec)  style  
     6   !! History :   OPA  !  1990-10  (C. Levy, G. Madec)  Original code 
     7   !!                  !  1991-11  (G. Madec, M. Imbard) 
     8   !!  NEMO       1.0  !  2002-08  (G. Madec, C. Ethe)  F90, add ice constants 
     9   !!              -   !  2006-08  (G. Madec)  style  
    1110   !!---------------------------------------------------------------------- 
    1211 
     
    5958      rcdic   =   2.034396_wp ,   &  !: thermal conductivity of fresh ice 
    6059      cpic    = 2067.0        ,   & 
    61       ! add the following lines 
    6260      lsub    = 2.834e+6      ,   &  !: pure ice latent heat of sublimation (J.kg-1) 
    6361      lfus    = 0.334e+6      ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     
    6967      rcpsn   =   6.9069e+5_wp,   &  !: density times specific heat for snow 
    7068      rcpic   =   1.8837e+6_wp,   &  !: volumetric latent heat fusion of sea ice 
    71       xlsn    = 110.121e+6_wp ,   &  !: volumetric latent heat fusion of snow 
    72       xlic    = 300.33e+6_wp  ,   &  !: volumetric latent heat fusion of ice 
     69      lfus    = 0.3337e+6     ,   &  !: latent heat of fusion of fresh ice   (J.kg-1) 
     70      xlsn    = 110.121e+6_wp ,   &  !: = lfus * rhosn, volumetric latent heat fusion of snow 
     71      xlic    = 300.33e+6_wp  ,   &  !: = lfus * rhosn, volumetric latent heat fusion of ice 
    7372      xsn     =   2.8e+6      ,   &  !: latent heat of sublimation of snow 
    7473      rhoic   = 900._wp       ,   &  !: volumic mass of sea ice (kg/m3) 
     
    8382      stefan  =   5.67e-8_wp         !: Stefan-Boltzmann constant  
    8483      !!---------------------------------------------------------------------- 
    85       !!  OPA 9.0 , LOCEAN-IPSL (2005)  
     84      !! NEMO/OPA 3.2 , LOCEAN-IPSL (2010)  
    8685      !! $Id$  
    87       !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt 
     86      !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 
    8887      !!---------------------------------------------------------------------- 
    8988    
     
    160159      IF(lwp) WRITE(numout,*) '                       1. / ( rau0 * rcp ) = ro0cpr = ', ro0cpr 
    161160 
     161#if defined key_lim3 
     162      xlsn = lfus * rhosn        ! volumetric latent heat fusion of snow [J/m3] 
     163#else 
     164      lfus = xlsn / rhosn        ! latent heat of fusion of fresh ice 
     165#endif 
     166 
    162167      IF(lwp) THEN 
    163168         WRITE(numout,*) 
  • trunk/NEMO/OPA_SRC/SBC/sbccpl.F90

    r1833 r1860  
    2323   USE sbc_oce         ! Surface boundary condition: ocean fields 
    2424   USE sbc_ice         ! Surface boundary condition: ice fields 
     25   USE phycst          ! physical constants 
    2526#if defined key_lim3 
    2627   USE par_ice         ! ice parameters 
     
    4546   USE lib_mpp         ! distribued memory computing library 
    4647   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    47    USE phycst, ONLY : xlsn, rhosn, xlic, rhoic 
    4848#if defined key_cpl_carbon_cycle 
    4949   USE p4zflx, ONLY : oce_co2 
     
    715715         IF( srcv(jpr_qnsoce)%laction )   qns(:,:) = frcv(:,:,jpr_qnsoce) 
    716716         IF( srcv(jpr_qnsmix)%laction )   qns(:,:) = frcv(:,:,jpr_qnsmix)         
    717          !   energy for melting solid precipitation over free ocean 
    718          zcoef = xlsn / rhosn 
    719          qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * zcoef 
     717         qns(:,:) = qns(:,:) - frcv(:,:,jpr_snow) * lfus              ! add the latent heat of solid precip. melting  
     718 
    720719         !                                                       ! solar flux over the ocean          (qsr) 
    721720         IF( srcv(jpr_qsroce)%laction )   qsr(:,:) = frcv(:,:,jpr_qsroce)  
     
    11181117            &                                                   +          pist(:,:,1)   * zicefr(:,:,1) ) ) 
    11191118      END SELECT 
    1120       !                                                           ! snow melting heat flux .... 
    1121       !   energy for melting solid precipitation over ice-free ocean 
    1122       zcoef = xlsn / rhosn 
    1123       ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * zcoef 
    1124       pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
     1119      ztmp(:,:) = p_frld(:,:,1) * zsnow(:,:) * lfus               ! add the latent heat of solid precip. melting 
     1120      pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:)                   ! over free ocean  
    11251121      IF( lk_diaar5 )   CALL iom_put( 'hflx_snow_cea', ztmp + zsnow(:,:) * zcptn(:,:) )   ! heat flux from snow (cell average) 
    11261122!!gm 
     
    11311127!! 
    11321128!! similar job should be done for snow and precipitation temperature 
    1133       !                                                           ! Iceberg melting heat flux .... 
    1134       !   energy for iceberg melting  
    1135       IF( srcv(jpr_cal)%laction ) THEN  
    1136          zcoef = xlic / rhoic 
    1137          ztmp(:,:) = frcv(:,:,jpr_cal) * zcoef 
     1129      !                                      
     1130      IF( srcv(jpr_cal)%laction ) THEN                            ! Iceberg melting  
     1131         ztmp(:,:) = frcv(:,:,jpr_cal) * lfus                     ! add the latent heat of iceberg melting  
    11381132         pqns_tot(:,:) = pqns_tot(:,:) - ztmp(:,:) 
    11391133         IF( lk_diaar5 )   CALL iom_put( 'hflx_cal_cea', ztmp + frcv(:,:,jpr_cal) * zcptn(:,:) )   ! heat flux from calving 
Note: See TracChangeset for help on using the changeset viewer.