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 9987 for branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90 – NEMO

Ignore:
Timestamp:
2018-07-23T11:33:03+02:00 (6 years ago)
Author:
emmafiedler
Message:

Merge with GO6 FOAMv14 package branch r9288

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_obs_oper_update_icethick/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r7960 r9987  
    9191   REAL(wp) ::   rn_zqt      ! z(q,t) : height of humidity and temperature measurements 
    9292   REAL(wp) ::   rn_zu       ! z(u)   : height of wind measurements 
     93   REAL(wp), PUBLIC :: rn_sfac ! multiplication factor for snow precipitation over sea-ice 
    9394 
    9495   !! * Substitutions 
     
    151152         &                  sn_wndi, sn_wndj, sn_humi  , sn_qsr ,           & 
    152153         &                  sn_qlw , sn_tair, sn_prec  , sn_snow,           & 
    153          &                  sn_tdif, rn_zqt,  rn_zu 
     154         &                  sn_tdif, rn_zqt,  rn_zu, rn_sfac 
    154155      !!--------------------------------------------------------------------- 
    155156      ! 
     
    158159         !                                      ! ====================== ! 
    159160         ! 
     161         rn_sfac = 1._wp       ! Default to one if missing from namelist  
    160162         REWIND( numnam_ref )              ! Namelist namsbc_core in reference namelist : CORE bulk parameters 
    161163         READ  ( numnam_ref, namsbc_core, IOSTAT = ios, ERR = 901) 
     
    206208      IF( MOD( kt - 1, nn_fsbc ) == 0 )   THEN 
    207209         qlw_ice(:,:,1)   = sf(jp_qlw)%fnow(:,:,1)  
    208          qsr_ice(:,:,1)   = sf(jp_qsr)%fnow(:,:,1) 
     210         IF( ln_dm2dc ) THEN ; qsr_ice(:,:,1) = sbc_dcy( sf(jp_qsr)%fnow(:,:,1) ) 
     211         ELSE                ; qsr_ice(:,:,1) =          sf(jp_qsr)%fnow(:,:,1) 
     212         ENDIF 
    209213         tatm_ice(:,:)    = sf(jp_tair)%fnow(:,:,1)          
    210214         qatm_ice(:,:)    = sf(jp_humi)%fnow(:,:,1) 
     
    403407         CALL iom_put( "qsr_oce" ,   qsr  )                 ! output downward solar heat over the ocean 
    404408         CALL iom_put( "qt_oce"  ,   qns+qsr )              ! output total downward heat over the ocean 
     409         tprecip(:,:) = sf(jp_prec)%fnow(:,:,1) * rn_pfac   ! output total precipitation [kg/m2/s] 
     410         sprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac   ! output solid precipitation [kg/m2/s] 
     411         CALL iom_put( 'snowpre', sprecip * 86400. )        ! Snow 
     412         CALL iom_put( 'precip' , tprecip * 86400. )        ! Total precipitation 
    405413      ENDIF 
    406414      ! 
     
    608616      ! --- evaporation --- ! 
    609617      z1_lsub = 1._wp / Lsub 
    610       evap_ice (:,:,:) = qla_ice (:,:,:) * z1_lsub ! sublimation 
    611       devap_ice(:,:,:) = dqla_ice(:,:,:) * z1_lsub 
    612       zevap    (:,:)   = emp(:,:) + tprecip(:,:)   ! evaporation over ocean 
     618      evap_ice (:,:,:) = rn_efac * qla_ice (:,:,:) * z1_lsub    ! sublimation 
     619      devap_ice(:,:,:) = rn_efac * dqla_ice(:,:,:) * z1_lsub    ! d(sublimation)/dT 
     620      zevap    (:,:)   = rn_efac * ( emp(:,:) + tprecip(:,:) )  ! evaporation over ocean 
    613621 
    614622      ! --- evaporation minus precipitation --- ! 
     
    633641      ! --- heat content of precip over ice in J/m3 (to be used in 1D-thermo) --- ! 
    634642      qprec_ice(:,:) = rhosn * ( ( MIN( sf(jp_tair)%fnow(:,:,1), rt0_snow ) - rt0 ) * cpic * tmask(:,:,1) - lfus ) 
     643 
     644      ! --- heat content of evap over ice in W/m2 (to be used in 1D-thermo) --- ! 
     645      DO jl = 1, jpl 
     646         qevap_ice(:,:,jl) = 0._wp ! should be -evap_ice(:,:,jl)*( ( Tice - rt0 ) * cpic * tmask(:,:,1) ) 
     647                                   ! But we do not have Tice => consider it at 0°C => evap=0  
     648      END DO 
    635649 
    636650      CALL wrk_dealloc( jpi,jpj, zevap, zsnw )  
Note: See TracChangeset for help on using the changeset viewer.