Changeset 2886 for LMDZ5/branches/testing/libf/phylmd/cpl_mod.F90
- Timestamp:
- May 20, 2017, 9:41:16 AM (8 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2867-2869,2871-2872,2876-2878,2881-2882,2884-2885
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/cpl_mod.F90
r2546 r2886 52 52 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_windsp 53 53 !$OMP THREADPRIVATE(cpl_windsp) 54 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_sens_rain, cpl_sens_snow 55 !$OMP THREADPRIVATE(cpl_sens_rain, cpl_sens_snow) 54 56 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_taumod 55 57 !$OMP THREADPRIVATE(cpl_taumod) … … 90 92 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_windsp2D 91 93 !$OMP THREADPRIVATE(cpl_windsp2D) 94 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: cpl_sens_rain2D, cpl_sens_snow2D 95 !$OMP THREADPRIVATE(cpl_sens_rain2D, cpl_sens_snow2D) 92 96 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_atm_co22D 93 97 !$OMP THREADPRIVATE(cpl_atm_co22D) … … 169 173 sum_error = sum_error + error 170 174 ALLOCATE(cpl_taumod(klon,2), stat = error) 175 sum_error = sum_error + error 176 ALLOCATE(cpl_sens_rain(klon,2), stat = error) 177 sum_error = sum_error + error 178 ALLOCATE(cpl_sens_snow(klon,2), stat = error) 171 179 sum_error = sum_error + error 172 180 ALLOCATE(cpl_rriv2D(nbp_lon,jj_nb), stat=error) … … 531 539 SUBROUTINE cpl_send_ocean_fields(itime, knon, knindex, & 532 540 swdown, lwdown, fluxlat, fluxsens, & 533 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp) 541 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp,& 542 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 534 543 ! 535 544 ! This subroutine cumulates some fields for each time-step during a coupling … … 552 561 REAL, DIMENSION(klon), INTENT(IN) :: evap, tsurf, fder, albsol 553 562 REAL, DIMENSION(klon), INTENT(IN) :: taux, tauy, windsp 563 REAL, DIMENSION(klon), INTENT(IN) :: sens_prec_liq, sens_prec_sol 564 REAL, DIMENSION(klon), INTENT(IN) :: lat_prec_liq, lat_prec_sol 554 565 555 566 ! Local variables … … 583 594 cpl_tauy(1:knon,cpl_index) = 0.0 584 595 cpl_windsp(1:knon,cpl_index) = 0.0 596 cpl_sens_rain(1:knon,cpl_index) = 0.0 597 cpl_sens_snow(1:knon,cpl_index) = 0.0 585 598 cpl_taumod(1:knon,cpl_index) = 0.0 586 599 IF (carbon_cycle_cpl) cpl_atm_co2(1:knon,cpl_index) = 0.0 … … 614 627 cpl_windsp(ig,cpl_index) = cpl_windsp(ig,cpl_index) + & 615 628 windsp(ig) / REAL(nexca) 629 cpl_sens_rain(ig,cpl_index) = cpl_sens_rain(ig,cpl_index) + & 630 sens_prec_liq(ig) / REAL(nexca) 631 cpl_sens_snow(ig,cpl_index) = cpl_sens_snow(ig,cpl_index) + & 632 sens_prec_sol(ig) / REAL(nexca) 616 633 cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + & 617 634 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL (nexca) … … 654 671 sum_error = sum_error + error 655 672 ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error) 673 sum_error = sum_error + error 674 ALLOCATE(cpl_sens_rain2D(nbp_lon,jj_nb,2), stat=error) 675 sum_error = sum_error + error 676 ALLOCATE(cpl_sens_snow2D(nbp_lon,jj_nb,2), stat=error) 656 677 sum_error = sum_error + error 657 678 ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error) … … 706 727 knon, knindex) 707 728 729 CALL gath2cpl(cpl_sens_rain(:,cpl_index), cpl_sens_rain2D(:,:,cpl_index), & 730 knon, knindex) 731 732 CALL gath2cpl(cpl_sens_snow(:,cpl_index), cpl_sens_snow2D(:,:,cpl_index), & 733 knon, knindex) 734 708 735 CALL gath2cpl(cpl_taumod(:,cpl_index), cpl_taumod2D(:,:,cpl_index), & 709 736 knon, knindex) … … 722 749 pctsrf, lafin, rlon, rlat, & 723 750 swdown, lwdown, fluxlat, fluxsens, & 724 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy) 751 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy,& 752 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 725 753 ! 726 754 ! This subroutine cumulates some fields for each time-step during a coupling … … 746 774 REAL, DIMENSION(klon), INTENT(IN) :: albsol, taux, tauy 747 775 REAL, DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf 776 REAL, DIMENSION(klon), INTENT(IN) :: sens_prec_liq, sens_prec_sol 777 REAL, DIMENSION(klon), INTENT(IN) :: lat_prec_liq, lat_prec_sol 748 778 LOGICAL, INTENT(IN) :: lafin 749 779 … … 778 808 cpl_taux(1:knon,cpl_index) = 0.0 779 809 cpl_tauy(1:knon,cpl_index) = 0.0 810 cpl_sens_rain(1:knon,cpl_index) = 0.0 811 cpl_sens_snow(1:knon,cpl_index) = 0.0 780 812 cpl_taumod(1:knon,cpl_index) = 0.0 781 813 ENDIF … … 806 838 cpl_tauy(ig,cpl_index) = cpl_tauy(ig,cpl_index) + & 807 839 tauy(ig) / REAL(nexca) 840 cpl_sens_rain(ig,cpl_index) = cpl_sens_rain(ig,cpl_index) + & 841 sens_prec_liq(ig) / REAL(nexca) 842 cpl_sens_snow(ig,cpl_index) = cpl_sens_snow(ig,cpl_index) + & 843 sens_prec_sol(ig) / REAL(nexca) 808 844 cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + & 809 845 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL(nexca) … … 839 875 sum_error = sum_error + error 840 876 ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error) 877 sum_error = sum_error + error 878 ALLOCATE(cpl_sens_rain2D(nbp_lon,jj_nb,2), stat=error) 879 sum_error = sum_error + error 880 ALLOCATE(cpl_sens_snow2D(nbp_lon,jj_nb,2), stat=error) 841 881 sum_error = sum_error + error 842 882 ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error) … … 889 929 890 930 CALL gath2cpl(cpl_tauy(:,cpl_index), cpl_tauy2D(:,:,cpl_index), & 931 knon, knindex) 932 933 CALL gath2cpl(cpl_sens_rain(:,cpl_index), cpl_sens_rain2D(:,:,cpl_index), & 934 knon, knindex) 935 936 CALL gath2cpl(cpl_sens_snow(:,cpl_index), cpl_sens_snow2D(:,:,cpl_index), & 891 937 knon, knindex) 892 938 … … 1078 1124 tab_flds(:,:,ids_nsfice) = cpl_nsol2D(:,:,2) 1079 1125 tab_flds(:,:,ids_dflxdt) = cpl_fder2D(:,:,2) 1126 tab_flds(:,:,ids_qraioc) = cpl_sens_rain2D(:,:,1) 1127 tab_flds(:,:,ids_qsnooc) = cpl_sens_snow2D(:,:,1) 1128 tab_flds(:,:,ids_qraiic) = cpl_sens_rain2D(:,:,2) 1129 tab_flds(:,:,ids_qsnoic) = cpl_sens_snow2D(:,:,2) 1080 1130 1081 1131 IF (version_ocean=='nemo') THEN … … 1279 1329 DEALLOCATE(cpl_taux2D, cpl_tauy2D, cpl_windsp2D, cpl_taumod2D, stat=error ) 1280 1330 sum_error = sum_error + error 1331 DEALLOCATE(cpl_sens_rain2D, cpl_sens_snow2D, stat=error) 1332 sum_error = sum_error + error 1333 1281 1334 1282 1335 IF (carbon_cycle_cpl) THEN
Note: See TracChangeset
for help on using the changeset viewer.