Changeset 2545 for LMDZ5/trunk/libf/phylmd
- Timestamp:
- Jun 7, 2016, 9:46:53 AM (9 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/cpl_mod.F90
r2538 r2545 52 52 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_windsp 53 53 !$OMP THREADPRIVATE(cpl_windsp) 54 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_sens_rain, cpl_sens_snow55 !$OMP THREADPRIVATE(cpl_sens_rain, cpl_sens_snow)56 54 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_taumod 57 55 !$OMP THREADPRIVATE(cpl_taumod) … … 92 90 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_windsp2D 93 91 !$OMP THREADPRIVATE(cpl_windsp2D) 94 REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: cpl_sens_rain2D, cpl_sens_snow2D95 !$OMP THREADPRIVATE(cpl_sens_rain2D, cpl_sens_snow2D)96 92 REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cpl_atm_co22D 97 93 !$OMP THREADPRIVATE(cpl_atm_co22D) … … 172 168 ALLOCATE(cpl_windsp(klon,2), stat = error) 173 169 sum_error = sum_error + error 174 ALLOCATE(cpl_sens_rain(klon,2), stat = error) 175 sum_error = sum_error + error 176 ALLOCATE(cpl_sens_snow(klon,2), stat = error) 170 ALLOCATE(cpl_taumod(klon,2), stat = error) 177 171 sum_error = sum_error + error 178 172 ALLOCATE(cpl_rriv2D(nbp_lon,jj_nb), stat=error) … … 537 531 SUBROUTINE cpl_send_ocean_fields(itime, knon, knindex, & 538 532 swdown, lwdown, fluxlat, fluxsens, & 539 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp,& 540 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 533 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp) 541 534 ! 542 535 ! This subroutine cumulates some fields for each time-step during a coupling … … 559 552 REAL, DIMENSION(klon), INTENT(IN) :: evap, tsurf, fder, albsol 560 553 REAL, DIMENSION(klon), INTENT(IN) :: taux, tauy, windsp 561 REAL, DIMENSION(klon), INTENT(IN) :: sens_prec_liq, sens_prec_sol562 REAL, DIMENSION(klon), INTENT(IN) :: lat_prec_liq, lat_prec_sol563 554 564 555 ! Local variables … … 592 583 cpl_tauy(1:knon,cpl_index) = 0.0 593 584 cpl_windsp(1:knon,cpl_index) = 0.0 594 cpl_sens_rain(1:knon,cpl_index) = 0.0595 cpl_sens_snow(1:knon,cpl_index) = 0.0596 585 cpl_taumod(1:knon,cpl_index) = 0.0 597 586 IF (carbon_cycle_cpl) cpl_atm_co2(1:knon,cpl_index) = 0.0 … … 625 614 cpl_windsp(ig,cpl_index) = cpl_windsp(ig,cpl_index) + & 626 615 windsp(ig) / REAL(nexca) 627 cpl_sens_rain(ig,cpl_index) = cpl_sens_rain(ig,cpl_index) + &628 sens_prec_liq(ig) / REAL(nexca)629 cpl_sens_snow(ig,cpl_index) = cpl_sens_snow(ig,cpl_index) + &630 sens_prec_sol(ig) / REAL(nexca)631 616 cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + & 632 617 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL (nexca) … … 669 654 sum_error = sum_error + error 670 655 ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error) 671 sum_error = sum_error + error672 ALLOCATE(cpl_sens_rain2D(nbp_lon,jj_nb,2), stat=error)673 sum_error = sum_error + error674 ALLOCATE(cpl_sens_snow2D(nbp_lon,jj_nb,2), stat=error)675 656 sum_error = sum_error + error 676 657 ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error) … … 725 706 knon, knindex) 726 707 727 CALL gath2cpl(cpl_sens_rain(:,cpl_index), cpl_sens_rain2D(:,:,cpl_index), &728 knon, knindex)729 730 CALL gath2cpl(cpl_sens_snow(:,cpl_index), cpl_sens_snow2D(:,:,cpl_index), &731 knon, knindex)732 733 708 CALL gath2cpl(cpl_taumod(:,cpl_index), cpl_taumod2D(:,:,cpl_index), & 734 709 knon, knindex) … … 747 722 pctsrf, lafin, rlon, rlat, & 748 723 swdown, lwdown, fluxlat, fluxsens, & 749 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy,& 750 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 724 precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy) 751 725 ! 752 726 ! This subroutine cumulates some fields for each time-step during a coupling … … 772 746 REAL, DIMENSION(klon), INTENT(IN) :: albsol, taux, tauy 773 747 REAL, DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf 774 REAL, DIMENSION(klon), INTENT(IN) :: sens_prec_liq, sens_prec_sol775 REAL, DIMENSION(klon), INTENT(IN) :: lat_prec_liq, lat_prec_sol776 748 LOGICAL, INTENT(IN) :: lafin 777 749 … … 806 778 cpl_taux(1:knon,cpl_index) = 0.0 807 779 cpl_tauy(1:knon,cpl_index) = 0.0 808 cpl_sens_rain(1:knon,cpl_index) = 0.0809 cpl_sens_snow(1:knon,cpl_index) = 0.0810 780 cpl_taumod(1:knon,cpl_index) = 0.0 811 781 ENDIF … … 836 806 cpl_tauy(ig,cpl_index) = cpl_tauy(ig,cpl_index) + & 837 807 tauy(ig) / REAL(nexca) 838 cpl_sens_rain(ig,cpl_index) = cpl_sens_rain(ig,cpl_index) + &839 sens_prec_liq(ig) / REAL(nexca)840 cpl_sens_snow(ig,cpl_index) = cpl_sens_snow(ig,cpl_index) + &841 sens_prec_sol(ig) / REAL(nexca)842 808 cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + & 843 809 SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL(nexca) … … 873 839 sum_error = sum_error + error 874 840 ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error) 875 sum_error = sum_error + error876 ALLOCATE(cpl_sens_rain2D(nbp_lon,jj_nb,2), stat=error)877 sum_error = sum_error + error878 ALLOCATE(cpl_sens_snow2D(nbp_lon,jj_nb,2), stat=error)879 841 sum_error = sum_error + error 880 842 ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error) … … 927 889 928 890 CALL gath2cpl(cpl_tauy(:,cpl_index), cpl_tauy2D(:,:,cpl_index), & 929 knon, knindex)930 931 CALL gath2cpl(cpl_sens_rain(:,cpl_index), cpl_sens_rain2D(:,:,cpl_index), &932 knon, knindex)933 934 CALL gath2cpl(cpl_sens_snow(:,cpl_index), cpl_sens_snow2D(:,:,cpl_index), &935 891 knon, knindex) 936 892 … … 1122 1078 tab_flds(:,:,ids_nsfice) = cpl_nsol2D(:,:,2) 1123 1079 tab_flds(:,:,ids_dflxdt) = cpl_fder2D(:,:,2) 1124 tab_flds(:,:,ids_qraioc) = cpl_sens_rain2D(:,:,1)1125 tab_flds(:,:,ids_qsnooc) = cpl_sens_snow2D(:,:,1)1126 tab_flds(:,:,ids_qraiic) = cpl_sens_rain2D(:,:,2)1127 tab_flds(:,:,ids_qsnoic) = cpl_sens_snow2D(:,:,2)1128 1080 1129 1081 IF (version_ocean=='nemo') THEN … … 1327 1279 DEALLOCATE(cpl_taux2D, cpl_tauy2D, cpl_windsp2D, cpl_taumod2D, stat=error ) 1328 1280 sum_error = sum_error + error 1329 DEALLOCATE(cpl_sens_rain2D, cpl_sens_snow2D, stat=error)1330 sum_error = sum_error + error1331 1332 1281 1333 1282 IF (carbon_cycle_cpl) THEN -
LMDZ5/trunk/libf/phylmd/oasis.F90
r2538 r2545 55 55 INTEGER, PARAMETER :: ids_atmco2 = 24 56 56 INTEGER, PARAMETER :: ids_taumod = 25 57 INTEGER, PARAMETER :: ids_qraioc = 26 58 INTEGER, PARAMETER :: ids_qsnooc = 27 59 INTEGER, PARAMETER :: ids_qraiic = 28 60 INTEGER, PARAMETER :: ids_qsnoic = 29 61 INTEGER, PARAMETER :: maxsend = 29 ! Maximum number of fields to send 57 INTEGER, PARAMETER :: maxsend = 25 ! Maximum number of fields to send 62 58 63 59 ! Id for fields received from ocean … … 181 177 infosend(ids_atmco2)%action = .TRUE. ; infosend(ids_atmco2)%name = 'COATMCO2' 182 178 ENDIF 183 infosend(ids_qraioc)%action = .TRUE. ; infosend(ids_qraioc)%name = 'COQRAIOC'184 infosend(ids_qsnooc)%action = .TRUE. ; infosend(ids_qsnooc)%name = 'COQSNOOC'185 infosend(ids_qraiic)%action = .TRUE. ; infosend(ids_qraiic)%name = 'COQRAIIC'186 infosend(ids_qsnoic)%action = .TRUE. ; infosend(ids_qsnoic)%name = 'COQSNOIC'187 179 188 180 ELSE IF (version_ocean=='opa8') THEN -
LMDZ5/trunk/libf/phylmd/ocean_cpl_mod.F90
r2538 r2545 191 191 CALL cpl_send_ocean_fields(itime, knon, knindex, & 192 192 swnet, lwnet, fluxlat, fluxsens, & 193 precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, flux_u1, flux_v1, windsp,& 194 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 193 precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, flux_u1, flux_v1, windsp& 194 ) 195 ! ,sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 195 196 196 197 … … 352 353 pctsrf, lafin, rlon, rlat, & 353 354 swnet, lwnet, fluxlat, fluxsens, & 354 precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, flux_u1, flux_v1,& 355 sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 355 precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, flux_u1, flux_v1 & 356 ) 357 ! ,sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol) 356 358 357 359
Note: See TracChangeset
for help on using the changeset viewer.