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 6122 for branches/2015/dev_merge_2015 – NEMO

Ignore:
Timestamp:
2015-12-18T13:43:58+01:00 (8 years ago)
Author:
vancop
Message:

sbccpl.F90 ticket 1654

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r6108 r6122  
    17341734                     ztmp3(:,:,1) = SUM( tn_ice * a_i, dim=3 ) / SUM( a_i, dim=3 ) 
    17351735                  ELSEWHERE 
    1736                      ztmp3(:,:,1) = rt0 ! TODO: Is freezing point a good default? (Maybe SST is better?) 
     1736                     ztmp3(:,:,1) = rt0 
    17371737                  END WHERE 
    17381738               CASE default   ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_temp%clcat' ) 
     
    17651765      !                                                      ! ------------------------- ! 
    17661766      IF( ssnd(jps_albice)%laction ) THEN                         ! ice  
    1767          SELECT CASE( sn_snd_alb%cldes ) 
    1768          CASE( 'ice'          )   ; ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) 
    1769          CASE( 'weighted ice' )   ; ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 
    1770          CASE default             ; CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_alb%cldes' ) 
     1767          SELECT CASE( sn_snd_alb%cldes ) 
     1768          CASE( 'ice' ) 
     1769             SELECT CASE( sn_snd_alb%clcat ) 
     1770             CASE( 'yes' )    
     1771                ztmp3(:,:,1:jpl) = alb_ice(:,:,1:jpl) 
     1772             CASE( 'no' ) 
     1773                WHERE( SUM( a_i, dim=3 ) /= 0. ) 
     1774                   ztmp1(:,:) = SUM( alb_ice (:,:,1:jpl) * a_i(:,:,1:jpl), dim=3 ) / SUM( a_i(:,:,1:jpl), dim=3 ) 
     1775                ELSEWHERE 
     1776                   ztmp1(:,:) = albedo_oce_mix(:,:) 
     1777                END WHERE 
     1778             CASE default   ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_alb%clcat' ) 
     1779             END SELECT 
     1780          CASE( 'weighted ice' )   ; 
     1781             SELECT CASE( sn_snd_alb%clcat ) 
     1782             CASE( 'yes' )    
     1783                ztmp3(:,:,1:jpl) =  alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl) 
     1784             CASE( 'no' ) 
     1785                WHERE( fr_i (:,:) > 0. ) 
     1786                   ztmp1(:,:) = SUM (  alb_ice(:,:,1:jpl) * a_i(:,:,1:jpl), dim=3 ) 
     1787                ELSEWHERE 
     1788                   ztmp1(:,:) = 0. 
     1789                END WHERE 
     1790             CASE default   ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_ice%clcat' ) 
     1791             END SELECT 
     1792          CASE default      ;   CALL ctl_stop( 'sbc_cpl_snd: wrong definition of sn_snd_alb%cldes' ) 
    17711793         END SELECT 
    1772          CALL cpl_snd( jps_albice, isec, ztmp3, info ) 
    1773       ENDIF 
     1794 
     1795         SELECT CASE( sn_snd_alb%clcat ) 
     1796            CASE( 'yes' )    
     1797               CALL cpl_snd( jps_albice, isec, ztmp3, info )      !-> MV this has never been checked in coupled mode 
     1798            CASE( 'no'  )    
     1799               CALL cpl_snd( jps_albice, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info )  
     1800         END SELECT 
     1801      ENDIF 
     1802 
    17741803      IF( ssnd(jps_albmix)%laction ) THEN                         ! mixed ice-ocean 
    17751804         ztmp1(:,:) = albedo_oce_mix(:,:) * zfr_l(:,:) 
Note: See TracChangeset for help on using the changeset viewer.