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 8125 for branches/2016/dev_r6859_LIM3_meltponds/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90 – NEMO

Ignore:
Timestamp:
2017-06-02T08:53:53+02:00 (7 years ago)
Author:
vancop
Message:

Melt pond podifications

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6859_LIM3_meltponds/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90

    r8106 r8125  
    106106      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zafrac_snw                ! relative snow fraction 
    107107      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zafrac_ice                ! relative ice fraction 
     108      REAL(wp), POINTER, DIMENSION(:,:,:) ::   zafrac_pnd                ! relative ice fraction (effective) 
    108109      !! 
    109110      !!--------------------------------------------------------------------- 
     
    117118      CALL wrk_alloc( jpi,jpj,ijpl, zalb, zalb_it ) 
    118119      CALL wrk_alloc( jpi,jpj,ijpl, zalb_pnd, zalb_ice, zalb_snw ) 
    119       CALL wrk_alloc( jpi,jpj,ijpl, zalb_pnd, zafrac_snw, zafrac_ice ) 
     120      CALL wrk_alloc( jpi,jpj,ijpl, zalb_pnd, zafrac_snw, zafrac_ice, zafrac_pnd ) 
    120121 
    121122      IF( albd_init == 0 )   CALL albedo_init      ! initialization  
     
    281282  
    282283      ! MV: I propose this formulation that is more elegant, and more easy to expand towards 
    283       !     varying pond and snow fraction 
    284   
     284      !     varying pond and snow fraction. 
     285      !     Formulation 1 has issues to handle ponds and snow together that 
     286      !     can't easily be fixed. This one handles it better, I believe. 
     287 
    285288          !----------------------------------------- 
    286289          ! Snow, bare ice and ponded ice fractions  
    287290          !----------------------------------------- 
    288291          ! Specific fractions (zafrac) refer to relative area covered by snow within each ice category 
    289   
     292 
     293          !--- Effective pond fraction (for now, we prevent melt ponds and snow at the same time) 
     294          zafrac_pnd = 0._wp 
     295          IF ( ld_pnd ) THEN   
     296             WHERE( ph_snw == 0._wp ) ;  zafrac_pnd = pafrac_pnd ;  END WHERE  ! Snow fully "shades" melt ponds 
     297          ENDIF          
     298 
    290299          !--- Specific snow fraction (for now, prescribed) 
    291300          WHERE     ( ph_snw > 0._wp     ) ;  zafrac_snw = 1. 
     
    294303  
    295304          !--- Specific ice fraction  
    296           zafrac_ice = 1. - zafrac_snw - pafrac_pnd 
    297 !          WHERE     ( ph_ice > 1.0e-6_wp ) ;  zafrac_ice = 1. - zafrac_snw - pafrac_pnd 
    298 !         ELSE WHERE                       ;  zafrac_ice = 0. 
    299 !         ENDWHERE 
     305          zafrac_ice = 1. - zafrac_snw - zafrac_pnd 
    300306  
    301307          !-------------------------------------------------- 
     
    324330 
    325331          ! Surface albedo is weighted mean of snow, ponds and bare ice contributions 
    326           pa_ice_os = zafrac_snw * zalb_snw  +  pafrac_pnd * zalb_pnd  +  zafrac_ice * zalb_ice 
     332          pa_ice_os = zafrac_snw * zalb_snw  +  zafrac_pnd * zalb_pnd  +  zafrac_ice * zalb_ice 
    327333           
    328334          pa_ice_cs = pa_ice_os - ( - 0.1010 * pa_ice_os * pa_ice_os + 0.1933 * pa_ice_os - 0.0148 ) 
     
    332338      CALL wrk_dealloc( jpi,jpj,ijpl, zalb, zalb_it ) 
    333339      CALL wrk_dealloc( jpi,jpj,ijpl, zalb_pnd, zalb_ice, zalb_snw ) 
    334       CALL wrk_dealloc( jpi,jpj,ijpl, zalb_pnd, zafrac_snw, zafrac_ice ) 
     340      CALL wrk_dealloc( jpi,jpj,ijpl, zalb_pnd, zafrac_snw, zafrac_ice, zafrac_pnd ) 
    335341      ! 
    336342   END SUBROUTINE albedo_ice 
Note: See TracChangeset for help on using the changeset viewer.