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 12940 – NEMO

Changeset 12940


Ignore:
Timestamp:
2020-05-18T10:57:26+02:00 (4 years ago)
Author:
dancopsey
Message:

Merge in changeset #12388 from NEMO_4.0.1_fix_cpl

Location:
NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl_v2/src/OCE/SBC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl_v2/src/OCE/SBC/sbc_ice.F90

    r12937 r12940  
    7070   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   wndm_ice       !: wind speed module at T-point                 [m/s] 
    7171   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   sstfrz         !: wind speed module at T-point                 [m/s] 
    72    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   tsfc_ice       !: sea ice surface skin temperature (on categories) 
    7372   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   cloud_fra      !: cloud cover                                    [-] 
    7473#endif 
     
    134133         &      qemp_ice(jpi,jpj)     , qevap_ice(jpi,jpj,jpl) , qemp_oce   (jpi,jpj)     ,   & 
    135134         &      qns_oce (jpi,jpj)     , qsr_oce  (jpi,jpj)     , emp_oce    (jpi,jpj)     ,   & 
    136          &      emp_ice (jpi,jpj)     , tsfc_ice (jpi,jpj,jpl) , sstfrz     (jpi,jpj)     ,   & 
     135         &      emp_ice (jpi,jpj)     , sstfrz     (jpi,jpj)   ,                              & 
    137136         &      cloud_fra(jpi,jpj)    , STAT= ierr(2) ) 
    138137#endif 
  • NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl_v2/src/OCE/SBC/sbccpl.F90

    r12937 r12940  
    12621262      IF( srcv(jpr_co2)%laction )   atm_co2(:,:) = frcv(jpr_co2)%z3(:,:,1) 
    12631263      ! 
    1264       !                                                      ! ================== ! 
    1265       !                                                      !   ice skin temp.   ! 
    1266       !                                                      ! ================== ! 
    1267 #if defined key_si3 
    1268       ! needed by Met Office 
    1269       IF( srcv(jpr_ts_ice)%laction ) THEN  
    1270          WHERE    ( frcv(jpr_ts_ice)%z3(:,:,:) > 0.0  )   ;   tsfc_ice(:,:,:) = 0.0  
    1271          ELSEWHERE( frcv(jpr_ts_ice)%z3(:,:,:) < -60. )   ;   tsfc_ice(:,:,:) = -60. 
    1272          ELSEWHERE                                        ;   tsfc_ice(:,:,:) = frcv(jpr_ts_ice)%z3(:,:,:) 
    1273          END WHERE 
    1274       ENDIF  
    1275 #endif 
    12761264      !                                                      ! ========================= !  
    12771265      !                                                      ! Mean Sea Level Pressure   !   (taum)  
     
    16491637      !!                   sprecip           solid precipitation over the ocean   
    16501638      !!---------------------------------------------------------------------- 
    1651       REAL(wp), INTENT(in), DIMENSION(:,:)             ::   picefr     ! ice fraction                [0 to 1] 
    1652       !                                                !!           ! optional arguments, used only in 'mixed oce-ice' case 
    1653       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   palbi      ! all skies ice albedo  
    1654       REAL(wp), INTENT(in), DIMENSION(:,:  ), OPTIONAL ::   psst       ! sea surface temperature     [Celsius] 
    1655       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   pist       ! ice surface temperature     [Kelvin] 
    1656       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   phs        ! snow depth                  [m] 
    1657       REAL(wp), INTENT(in), DIMENSION(:,:,:), OPTIONAL ::   phi        ! ice thickness               [m] 
     1639      REAL(wp), INTENT(in)   , DIMENSION(:,:)             ::   picefr     ! ice fraction                [0 to 1] 
     1640      !                                                   !!           ! optional arguments, used only in 'mixed oce-ice' case or for Met-Office coupling 
     1641      REAL(wp), INTENT(in)   , DIMENSION(:,:,:), OPTIONAL ::   palbi      ! all skies ice albedo  
     1642      REAL(wp), INTENT(in)   , DIMENSION(:,:  ), OPTIONAL ::   psst       ! sea surface temperature     [Celsius] 
     1643      REAL(wp), INTENT(inout), DIMENSION(:,:,:), OPTIONAL ::   pist       ! ice surface temperature     [Kelvin] => inout for Met-Office 
     1644      REAL(wp), INTENT(in)   , DIMENSION(:,:,:), OPTIONAL ::   phs        ! snow depth                  [m] 
     1645      REAL(wp), INTENT(in)   , DIMENSION(:,:,:), OPTIONAL ::   phi        ! ice thickness               [m] 
    16581646      ! 
    16591647      INTEGER  ::   ji, jj, jl   ! dummy loop index 
     
    16621650      REAL(wp), DIMENSION(jpi,jpj)     ::   zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice 
    16631651      REAL(wp), DIMENSION(jpi,jpj)     ::   zevap_ice_total 
    1664       REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice, zqtr_ice_top 
     1652      REAL(wp), DIMENSION(jpi,jpj,jpl) ::   zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice, zevap_ice, zqtr_ice_top, ztsu 
    16651653      REAL(wp), DIMENSION(jpi,jpj)     ::   ztri, zcloud_fra 
    16661654      !!---------------------------------------------------------------------- 
     
    21142102         !                    ! ===> here we must receive the qtr_ice_top array from the coupler 
    21152103         !                           for now just assume zero (fully opaque ice) 
    2116          qtr_ice_top(:,:,:) = 0._wp 
     2104         zqtr_ice_top(:,:,:) = 0._wp 
     2105         ! 
     2106      ENDIF 
     2107      ! 
     2108      IF( ln_mixcpl ) THEN 
     2109         DO jl=1,jpl 
     2110            qtr_ice_top(:,:,jl) = qtr_ice_top(:,:,jl) * xcplmask(:,:,0) + zqtr_ice_top(:,:,jl) * zmsk(:,:) 
     2111         ENDDO 
     2112      ELSE 
     2113         qtr_ice_top(:,:,:) = zqtr_ice_top(:,:,:) 
     2114      ENDIF 
     2115      !                                                      ! ================== ! 
     2116      !                                                      !   ice skin temp.   ! 
     2117      !                                                      ! ================== ! 
     2118      ! needed by Met Office 
     2119      IF( srcv(jpr_ts_ice)%laction ) THEN  
     2120         WHERE    ( frcv(jpr_ts_ice)%z3(:,:,:) > 0.0  )   ;   ztsu(:,:,:) = 0.0 + rt0  
     2121         ELSEWHERE( frcv(jpr_ts_ice)%z3(:,:,:) < -60. )   ;   ztsu(:,:,:) = -60. + rt0 
     2122         ELSEWHERE                                        ;   ztsu(:,:,:) = frcv(jpr_ts_ice)%z3(:,:,:) + rt0 
     2123         END WHERE 
     2124         ! 
     2125         IF( ln_mixcpl ) THEN 
     2126            DO jl=1,jpl 
     2127               pist(:,:,jl) = pist(:,:,jl) * xcplmask(:,:,0) + ztsu(:,:,jl) * zmsk(:,:) 
     2128            ENDDO 
     2129         ELSE 
     2130            pist(:,:,:) = ztsu(:,:,:) 
     2131         ENDIF 
    21172132         ! 
    21182133      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.