Changeset 12940
- Timestamp:
- 2020-05-18T10:57:26+02:00 (5 years ago)
- 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 70 70 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: wndm_ice !: wind speed module at T-point [m/s] 71 71 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)73 72 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: cloud_fra !: cloud cover [-] 74 73 #endif … … 134 133 & qemp_ice(jpi,jpj) , qevap_ice(jpi,jpj,jpl) , qemp_oce (jpi,jpj) , & 135 134 & 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) , & 137 136 & cloud_fra(jpi,jpj) , STAT= ierr(2) ) 138 137 #endif -
NEMO/branches/UKMO/NEMO_4.0.1_fix_cpl_v2/src/OCE/SBC/sbccpl.F90
r12937 r12940 1262 1262 IF( srcv(jpr_co2)%laction ) atm_co2(:,:) = frcv(jpr_co2)%z3(:,:,1) 1263 1263 ! 1264 ! ! ================== !1265 ! ! ice skin temp. !1266 ! ! ================== !1267 #if defined key_si31268 ! needed by Met Office1269 IF( srcv(jpr_ts_ice)%laction ) THEN1270 WHERE ( frcv(jpr_ts_ice)%z3(:,:,:) > 0.0 ) ; tsfc_ice(:,:,:) = 0.01271 ELSEWHERE( frcv(jpr_ts_ice)%z3(:,:,:) < -60. ) ; tsfc_ice(:,:,:) = -60.1272 ELSEWHERE ; tsfc_ice(:,:,:) = frcv(jpr_ts_ice)%z3(:,:,:)1273 END WHERE1274 ENDIF1275 #endif1276 1264 ! ! ========================= ! 1277 1265 ! ! Mean Sea Level Pressure ! (taum) … … 1649 1637 !! sprecip solid precipitation over the ocean 1650 1638 !!---------------------------------------------------------------------- 1651 REAL(wp), INTENT(in) , DIMENSION(:,:) :: picefr ! ice fraction [0 to 1]1652 ! !! ! optional arguments, used only in 'mixed oce-ice' case1653 REAL(wp), INTENT(in) , DIMENSION(:,:,:), OPTIONAL :: palbi ! all skies ice albedo1654 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] 1658 1646 ! 1659 1647 INTEGER :: ji, jj, jl ! dummy loop index … … 1662 1650 REAL(wp), DIMENSION(jpi,jpj) :: zqns_tot, zqns_oce, zqsr_tot, zqsr_oce, zqprec_ice, zqemp_oce, zqemp_ice 1663 1651 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 1665 1653 REAL(wp), DIMENSION(jpi,jpj) :: ztri, zcloud_fra 1666 1654 !!---------------------------------------------------------------------- … … 2114 2102 ! ! ===> here we must receive the qtr_ice_top array from the coupler 2115 2103 ! 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 2117 2132 ! 2118 2133 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.