Changeset 4358


Ignore:
Timestamp:
2014-01-20T16:09:18+01:00 (7 years ago)
Author:
vancop
Message:

[test enhanced CORE over sea ice, see ticket #1219]

Location:
branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/OPA_SRC/SBC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90

    r3625 r4358  
    599599               zdqlw = 4.0 * emic * stefan * ztice3 
    600600               zdqsb = zrhovacshi 
    601                zdqla = zrhovaclei * ( zdesidt * ( zqsati * zqsati / ( zesi * zesi ) ) * ( zpatm / 0.622 ) )    
     601                
     602               ! MV 2014 we must cap derivative also 
     603               IF ( p_qla(ji,jj,jl) .GT. 0.0 ) THEN 
     604                  zdqla = zrhovaclei * ( zdesidt * ( zqsati * zqsati / ( zesi * zesi ) ) * ( zpatm / 0.622 ) )    
     605               ELSE 
     606                  zdqla = 0.0 
     607               ENDIF 
    602608               ! 
    603609               p_dqla(ji,jj,jl) = zdqla                           ! latent flux sensitivity 
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r4332 r4358  
    7070   REAL(wp), PARAMETER ::   Ls   =    2.839e6     ! latent heat of sublimation 
    7171   REAL(wp), PARAMETER ::   Stef =    5.67e-8     ! Stefan Boltzmann constant 
    72    REAL(wp), PARAMETER ::   Cice =    1.4e-3      ! iovi 1.63e-3     ! transfer coefficient over ice 
     72   REAL(wp), PARAMETER ::   Cice =    1.63e-3     ! MV Drag, water, and heat transfer coefficient in CORE formulation 
    7373   REAL(wp), PARAMETER ::   albo =    0.066       ! ocean albedo assumed to be constant 
    7474 
     
    494494      zcoef_dqsb   = rhoa * cpa * Cice 
    495495      zcoef_frca   = 1.0  - 0.3 
     496      ! MV 2014 the proper cloud fraction (mean summer months from the CLIO climato, NH+SH) is 0.19 
     497      zcoef_frca   = 1.0  - 0.19 
    496498 
    497499!!gm brutal.... 
     
    579581               p_qsr(ji,jj,jl) = zztmp * ( 1. - palb(ji,jj,jl) ) * qsr(ji,jj) 
    580582               ! Long  Wave (lw) 
     583               ! MV come back to the original CORE forcing 
    581584               ! iovino 
    582                IF( ff(ji,jj) .GT. 0._wp ) THEN 
    583                   z_qlw(ji,jj,jl) = ( 0.95 * sf(jp_qlw)%fnow(ji,jj,1) - Stef * pst(ji,jj,jl) * zst3 ) * tmask(ji,jj,1) 
    584                ELSE 
    585                   z_qlw(ji,jj,jl) = 0.95 * ( sf(jp_qlw)%fnow(ji,jj,1) - Stef * pst(ji,jj,jl) * zst3 ) * tmask(ji,jj,1) 
    586                ENDIF 
     585               ! IF( ff(ji,jj) .GT. 0._wp ) THEN 
     586               !   z_qlw(ji,jj,jl) = ( 0.95 * sf(jp_qlw)%fnow(ji,jj,1) - Stef * pst(ji,jj,jl) * zst3 ) * tmask(ji,jj,1) 
     587               ! ELSE 
     588               z_qlw(ji,jj,jl) = 0.95 * ( sf(jp_qlw)%fnow(ji,jj,1) - Stef * pst(ji,jj,jl) * zst3 ) * tmask(ji,jj,1) 
     589               ! ENDIF 
    587590               ! lw sensitivity 
    588591               z_dqlw(ji,jj,jl) = zcoef_dqlw * zst3                                                
     
    599602                  &                         * (  11637800. * EXP( -5897.8 / pst(ji,jj,jl) ) / rhoa - sf(jp_humi)%fnow(ji,jj,1)  ) ) 
    600603               ! Latent heat sensitivity for ice (Dqla/Dt) 
    601                p_dqla(ji,jj,jl) = rn_efac * zcoef_dqla * z_wnds_t(ji,jj) / ( zst2 ) * EXP( -5897.8 / pst(ji,jj,jl) ) 
     604               ! MV we also have to cap the sensitivity if the flux is zero 
     605               IF ( p_qla(ji,jj,jl) .GT. 0.0 ) THEN 
     606                  p_dqla(ji,jj,jl) = rn_efac * zcoef_dqla * z_wnds_t(ji,jj) / ( zst2 ) * EXP( -5897.8 / pst(ji,jj,jl) ) 
     607               ELSE 
     608                  p_dqla(ji,jj,jl) = 0.0 
     609               ENDIF 
     610                              
    602611               ! Sensible heat sensitivity (Dqsb_ice/Dtn_ice) 
    603612               z_dqsb(ji,jj,jl) = zcoef_dqsb * z_wnds_t(ji,jj) 
  • branches/dev_r4028_CNRS_LIM3_MV2014/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r4345 r4358  
    176176      IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN     !  Ice time-step only  ! 
    177177         !                                     !----------------------! 
    178          !                                           !  Bulk Formulea ! 
     178         !                                           !  Bulk Formulae ! 
    179179         !                                           !----------------! 
    180180         ! 
     
    218218            !          
    219219         CASE( 4 )                                       ! CORE bulk formulation 
    220             CALL blk_ice_core( t_su , u_ice     , v_ice     , zalb_ice_cs,               & 
     220            ! MV 2014 
     221            ! We must account for cloud fraction in the computation of the albedo 
     222            ! The present ref just uses the clear sky value 
     223            ! The overcast sky value is 0.06 higher, and polar skies are mostly overcast 
     224            ! CORE has no cloud fraction, hence we must prescribe it 
     225            ! Mean summer cloud fraction computed from CLIO = 0.81 
     226            zalb_ice(:,:,:) = 0.19 * zalb_ice_cs(:,:,:) + 0.81 * zalb_ice_os(:,:,:) 
     227            ! Following line, we replace zalb_ice_cs by simply zalb_ice 
     228            CALL blk_ice_core( t_su , u_ice     , v_ice     , zalb_ice   ,               & 
    221229               &                      utau_ice  , vtau_ice  , qns_ice    , qsr_ice   ,   & 
    222230               &                      qla_ice   , dqns_ice  , dqla_ice   ,               & 
Note: See TracChangeset for help on using the changeset viewer.