Changeset 4368 for LMDZ6/branches/Ocean_skin/libf/phylmd/cpl_mod.F90
- Timestamp:
- Dec 6, 2022, 12:01:16 AM (22 months ago)
- Location:
- LMDZ6/branches/Ocean_skin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin
- Property svn:mergeinfo changed
-
LMDZ6/branches/Ocean_skin/libf/phylmd/cpl_mod.F90
r4020 r4368 66 66 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_rriv2D, cpl_rcoa2D, cpl_rlic2D 67 67 !$OMP THREADPRIVATE(cpl_rriv2D,cpl_rcoa2D,cpl_rlic2D) 68 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: rlic_in_frac2D ! fraction for continental ice 69 !$OMP THREADPRIVATE(rlic_in_frac2D) 68 70 69 71 ! variables read from coupler : … … 229 231 sum_error = sum_error + error 230 232 ALLOCATE(cpl_rlic2D(nbp_lon,jj_nb), stat=error) 233 sum_error = sum_error + error 234 ALLOCATE(rlic_in_frac2D(nbp_lon,jj_nb), stat=error) 231 235 sum_error = sum_error + error 232 236 ALLOCATE(read_sst(nbp_lon, jj_nb), stat = error) … … 1179 1183 ! 1180 1184 1181 SUBROUTINE cpl_send_landice_fields(itime, knon, knindex, rlic_in )1185 SUBROUTINE cpl_send_landice_fields(itime, knon, knindex, rlic_in, rlic_in_frac) 1182 1186 ! This subroutine cumulates the field for melting ice for each time-step 1183 1187 ! during a coupling period. This routine will not send to coupler. Sending … … 1193 1197 INTEGER, DIMENSION(klon), INTENT(IN) :: knindex 1194 1198 REAL, DIMENSION(klon), INTENT(IN) :: rlic_in 1199 REAL, DIMENSION(klon), INTENT(IN) :: rlic_in_frac ! Fraction for continental ice, can be equal to 1200 ! pctsrf(:,is_lic) or not, depending on landice_opt 1201 1195 1202 1196 1203 ! Local varibales … … 1207 1214 !$OMP END MASTER 1208 1215 CALL gath2cpl(rlic_in, rlic2D, knon, knindex) 1209 1216 CALL gath2cpl(rlic_in_frac(:), rlic_in_frac2D(:,:), knon, knindex) 1210 1217 !************************************************************************************* 1211 1218 ! Reset field to zero in the beginning of a new coupling period … … 1329 1336 CALL gath2cpl(pctsrf(:,is_oce), pctsrf2D(:,:,is_oce), klon, unity) 1330 1337 CALL gath2cpl(pctsrf(:,is_sic), pctsrf2D(:,:,is_sic), klon, unity) 1331 CALL gath2cpl(pctsrf(:,is_lic), pctsrf2D(:,:,is_lic), klon, unity) 1338 1339 1340 1332 1341 1333 1342 !************************************************************************************* … … 1342 1351 DO j = 1, jj_nb 1343 1352 tmp_calv(:,j) = DOT_PRODUCT (cpl_rlic2D(1:nbp_lon,j), & 1344 pctsrf2D(1:nbp_lon,j,is_lic)) / REAL(nbp_lon)1353 rlic_in_frac2D(1:nbp_lon,j)) / REAL(nbp_lon) 1345 1354 ENDDO 1346 1355 … … 1379 1388 calving(k)=0 1380 1389 DO j = 1, jj_nb 1381 calving(k)= calving(k)+DOT_PRODUCT(cpl_rlic2D(:,j)*area_calving(:,j,k), pctsrf2D(:,j,is_lic))1390 calving(k)= calving(k)+DOT_PRODUCT(cpl_rlic2D(:,j)*area_calving(:,j,k),rlic_in_frac2D(:,j)) 1382 1391 ENDDO 1383 1392 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.