Changeset 4283 for LMDZ6/trunk/libf/phylmd/cpl_mod.F90
- Timestamp:
- Sep 26, 2022, 2:43:00 PM (19 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/cpl_mod.F90
r3815 r4283 64 64 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_rriv2D, cpl_rcoa2D, cpl_rlic2D 65 65 !$OMP THREADPRIVATE(cpl_rriv2D,cpl_rcoa2D,cpl_rlic2D) 66 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: rlic_in_frac2D ! fraction for continental ice 67 !$OMP THREADPRIVATE(rlic_in_frac2D) 66 68 67 69 ! variables read from coupler : … … 225 227 sum_error = sum_error + error 226 228 ALLOCATE(cpl_rlic2D(nbp_lon,jj_nb), stat=error) 229 sum_error = sum_error + error 230 ALLOCATE(rlic_in_frac2D(nbp_lon,jj_nb), stat=error) 227 231 sum_error = sum_error + error 228 232 ALLOCATE(read_sst(nbp_lon, jj_nb), stat = error) … … 1151 1155 ! 1152 1156 1153 SUBROUTINE cpl_send_landice_fields(itime, knon, knindex, rlic_in )1157 SUBROUTINE cpl_send_landice_fields(itime, knon, knindex, rlic_in, rlic_in_frac) 1154 1158 ! This subroutine cumulates the field for melting ice for each time-step 1155 1159 ! during a coupling period. This routine will not send to coupler. Sending … … 1165 1169 INTEGER, DIMENSION(klon), INTENT(IN) :: knindex 1166 1170 REAL, DIMENSION(klon), INTENT(IN) :: rlic_in 1171 REAL, DIMENSION(klon), INTENT(IN) :: rlic_in_frac ! Fraction for continental ice, can be equal to 1172 ! pctsrf(:,is_lic) or not, depending on landice_opt 1173 1167 1174 1168 1175 ! Local varibales … … 1179 1186 !$OMP END MASTER 1180 1187 CALL gath2cpl(rlic_in, rlic2D, knon, knindex) 1181 1188 CALL gath2cpl(rlic_in_frac(:), rlic_in_frac2D(:,:), knon, knindex) 1182 1189 !************************************************************************************* 1183 1190 ! Reset field to zero in the beginning of a new coupling period … … 1298 1305 CALL gath2cpl(pctsrf(:,is_oce), pctsrf2D(:,:,is_oce), klon, unity) 1299 1306 CALL gath2cpl(pctsrf(:,is_sic), pctsrf2D(:,:,is_sic), klon, unity) 1300 CALL gath2cpl(pctsrf(:,is_lic), pctsrf2D(:,:,is_lic), klon, unity) 1307 1308 1309 1301 1310 1302 1311 !************************************************************************************* … … 1311 1320 DO j = 1, jj_nb 1312 1321 tmp_calv(:,j) = DOT_PRODUCT (cpl_rlic2D(1:nbp_lon,j), & 1313 pctsrf2D(1:nbp_lon,j,is_lic)) / REAL(nbp_lon)1322 rlic_in_frac2D(1:nbp_lon,j)) / REAL(nbp_lon) 1314 1323 ENDDO 1315 1324 … … 1348 1357 calving(k)=0 1349 1358 DO j = 1, jj_nb 1350 calving(k)= calving(k)+DOT_PRODUCT(cpl_rlic2D(:,j)*area_calving(:,j,k), pctsrf2D(:,j,is_lic))1359 calving(k)= calving(k)+DOT_PRODUCT(cpl_rlic2D(:,j)*area_calving(:,j,k),rlic_in_frac2D(:,j)) 1351 1360 ENDDO 1352 1361 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.