Changeset 3744 for LMDZ6/branches/Ocean_skin/libf/phylmd/cpl_mod.F90
- Timestamp:
- Jul 1, 2020, 6:57:48 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Ocean_skin/libf/phylmd/cpl_mod.F90
r3740 r3744 49 49 !$OMP THREADPRIVATE(cpl_snow,cpl_evap,cpl_tsol) 50 50 51 REAL, ALLOCATABLE, SAVE:: cpl_delta_ temp(:), cpl_s_int(:)52 !$OMP THREADPRIVATE(cpl_delta_ temp, cpl_s_int)51 REAL, ALLOCATABLE, SAVE:: cpl_delta_sst(:), cpl_s_int(:) 52 !$OMP THREADPRIVATE(cpl_delta_sst, cpl_s_int) 53 53 54 54 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_fder, cpl_albe, cpl_taux, cpl_tauy … … 94 94 !$OMP THREADPRIVATE(cpl_snow2D, cpl_evap2D, cpl_tsol2D) 95 95 96 REAL, ALLOCATABLE, SAVE:: cpl_delta_ temp_2D(:,:), cpl_s_int_2D(:,:)97 !$OMP THREADPRIVATE(cpl_delta_ temp_2D, cpl_s_int_2D)96 REAL, ALLOCATABLE, SAVE:: cpl_delta_sst_2D(:,:), cpl_s_int_2D(:,:) 97 !$OMP THREADPRIVATE(cpl_delta_sst_2D, cpl_s_int_2D) 98 98 99 99 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: cpl_fder2D, cpl_albe2D … … 237 237 238 238 if (activate_ocean_skin == 2) then 239 ALLOCATE(cpl_delta_ temp(klon), cpl_s_int(klon), stat = error)239 ALLOCATE(cpl_delta_sst(klon), cpl_s_int(klon), stat = error) 240 240 sum_error = sum_error + error 241 241 end if … … 645 645 swdown, lwdown, fluxlat, fluxsens, & 646 646 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp,& 647 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, tsurf_in, &648 s st_nff, s_int)647 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, delta_sst, & 648 s_int) 649 649 650 650 ! This subroutine cumulates some fields for each time-step during … … 672 672 REAL, INTENT(IN):: sens_prec_liq(:), sens_prec_sol(:) ! (knon) 673 673 REAL, DIMENSION(klon), INTENT(IN) :: lat_prec_liq, lat_prec_sol 674 real, intent(in):: tsurf_in(:) ! (klon) 675 676 REAL, intent(in):: sst_nff(:) ! (knon) 677 ! SST not used to compute surface fluxes, in K. If 678 ! activate_ocean_skin == 0 then it is not defined; if 679 ! activate_ocean_skin == 1 then it is the ocean-air interface 680 ! temperature; if activate_ocean_skin == 2 then it is the bulk SST. 674 675 REAL, intent(in):: delta_sst(:) ! (knon) 676 ! Ocean-air interface temperature minus bulk SST, in 677 ! K. Defined only if activate_ocean_skin >= 1. 681 678 682 679 real, intent(in):: s_int(:) ! (knon) ocean-air interface salinity, in ppt … … 718 715 719 716 if (activate_ocean_skin == 2) then 720 cpl_delta_ temp(:knon) = 0.717 cpl_delta_sst(:knon) = 0. 721 718 cpl_s_int = 0. 722 719 end if … … 764 761 765 762 if (activate_ocean_skin == 2) then 766 cpl_delta_temp(ig) = cpl_delta_temp(ig) & 767 + (tsurf_in(ig) - sst_nff(ig)) / REAL(nexca) 763 cpl_delta_sst(ig) = cpl_delta_sst(ig) + delta_sst(ig) / REAL(nexca) 768 764 cpl_s_int(ig) = cpl_s_int(ig) + s_int(ig) / REAL(nexca) 769 765 end if … … 815 811 816 812 if (activate_ocean_skin == 2) then 817 ALLOCATE(cpl_delta_ temp_2D(nbp_lon, jj_nb), &813 ALLOCATE(cpl_delta_sst_2D(nbp_lon, jj_nb), & 818 814 cpl_s_int_2D(nbp_lon, jj_nb), stat = error) 819 815 sum_error = sum_error + error … … 875 871 CALL gath2cpl(cpl_atm_co2(:,cpl_index), cpl_atm_co22D(:,:), knon, knindex) 876 872 if (activate_ocean_skin == 2) then 877 CALL gath2cpl(cpl_delta_ temp, cpl_delta_temp_2D, knon, knindex)873 CALL gath2cpl(cpl_delta_sst, cpl_delta_sst_2D, knon, knindex) 878 874 CALL gath2cpl(cpl_s_int, cpl_s_int_2D, knon, knindex) 879 875 end if … … 1273 1269 1274 1270 if (activate_ocean_skin == 2) then 1275 tab_flds(:, :, ids_delta_ temp) = cpl_delta_temp_2D1271 tab_flds(:, :, ids_delta_sst) = cpl_delta_sst_2D 1276 1272 tab_flds(:, :, ids_s_int) = cpl_s_int_2D 1277 1273 end if … … 1512 1508 ENDIF 1513 1509 1514 if (activate_ocean_skin == 2) deallocate(cpl_delta_ temp_2d, cpl_s_int_2d)1510 if (activate_ocean_skin == 2) deallocate(cpl_delta_sst_2d, cpl_s_int_2d) 1515 1511 1516 1512 IF (sum_error /= 0) THEN
Note: See TracChangeset
for help on using the changeset viewer.