Ignore:
Timestamp:
Jun 7, 2016, 9:46:53 AM (9 years ago)
Author:
Laurent Fairhead
Message:

Rollback for revision r2538: calculation of the fluxes is correct but transmission
to coupler is broken
LF

Location:
LMDZ5/trunk/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/cpl_mod.F90

    r2538 r2545  
    5252  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_windsp
    5353  !$OMP THREADPRIVATE(cpl_windsp)
    54   REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_sens_rain, cpl_sens_snow
    55   !$OMP THREADPRIVATE(cpl_sens_rain, cpl_sens_snow)
    5654  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_taumod
    5755  !$OMP THREADPRIVATE(cpl_taumod)
     
    9290  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_windsp2D
    9391  !$OMP THREADPRIVATE(cpl_windsp2D)
    94   REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE   :: cpl_sens_rain2D, cpl_sens_snow2D
    95   !$OMP THREADPRIVATE(cpl_sens_rain2D, cpl_sens_snow2D)
    9692  REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_atm_co22D
    9793  !$OMP THREADPRIVATE(cpl_atm_co22D)
     
    172168    ALLOCATE(cpl_windsp(klon,2), stat = error)
    173169    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)
    177171    sum_error = sum_error + error
    178172    ALLOCATE(cpl_rriv2D(nbp_lon,jj_nb), stat=error)
     
    537531  SUBROUTINE cpl_send_ocean_fields(itime, knon, knindex, &
    538532       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)
    541534!
    542535! This subroutine cumulates some fields for each time-step during a coupling
     
    559552    REAL, DIMENSION(klon), INTENT(IN)       :: evap, tsurf, fder, albsol
    560553    REAL, DIMENSION(klon), INTENT(IN)       :: taux, tauy, windsp
    561     REAL, DIMENSION(klon), INTENT(IN)       :: sens_prec_liq, sens_prec_sol
    562     REAL, DIMENSION(klon), INTENT(IN)       :: lat_prec_liq, lat_prec_sol
    563554
    564555! Local variables
     
    592583       cpl_tauy(1:knon,cpl_index) = 0.0
    593584       cpl_windsp(1:knon,cpl_index) = 0.0
    594        cpl_sens_rain(1:knon,cpl_index) = 0.0
    595        cpl_sens_snow(1:knon,cpl_index) = 0.0
    596585       cpl_taumod(1:knon,cpl_index) = 0.0
    597586       IF (carbon_cycle_cpl) cpl_atm_co2(1:knon,cpl_index) = 0.0
     
    625614       cpl_windsp(ig,cpl_index) = cpl_windsp(ig,cpl_index) + &
    626615            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)
    631616       cpl_taumod(ig,cpl_index) =   cpl_taumod(ig,cpl_index) + &
    632617          SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL (nexca)
     
    669654          sum_error = sum_error + error
    670655          ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error)
    671           sum_error = sum_error + error
    672           ALLOCATE(cpl_sens_rain2D(nbp_lon,jj_nb,2), stat=error)
    673           sum_error = sum_error + error
    674           ALLOCATE(cpl_sens_snow2D(nbp_lon,jj_nb,2), stat=error)
    675656          sum_error = sum_error + error
    676657          ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error)
     
    725706            knon, knindex)
    726707
    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 
    733708       CALL gath2cpl(cpl_taumod(:,cpl_index), cpl_taumod2D(:,:,cpl_index), &
    734709            knon, knindex)
     
    747722       pctsrf, lafin, rlon, rlat, &
    748723       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)
    751725!
    752726! This subroutine cumulates some fields for each time-step during a coupling
     
    772746    REAL, DIMENSION(klon), INTENT(IN)       :: albsol, taux, tauy
    773747    REAL, DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf
    774     REAL, DIMENSION(klon), INTENT(IN)       :: sens_prec_liq, sens_prec_sol
    775     REAL, DIMENSION(klon), INTENT(IN)       :: lat_prec_liq, lat_prec_sol
    776748    LOGICAL, INTENT(IN)                     :: lafin
    777749
     
    806778       cpl_taux(1:knon,cpl_index) = 0.0
    807779       cpl_tauy(1:knon,cpl_index) = 0.0
    808        cpl_sens_rain(1:knon,cpl_index) = 0.0
    809        cpl_sens_snow(1:knon,cpl_index) = 0.0
    810780       cpl_taumod(1:knon,cpl_index) = 0.0
    811781    ENDIF
     
    836806       cpl_tauy(ig,cpl_index) = cpl_tauy(ig,cpl_index) + &
    837807            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)
    842808       cpl_taumod(ig,cpl_index) = cpl_taumod(ig,cpl_index) + &
    843809            SQRT ( taux(ig)*taux(ig)+tauy(ig)*tauy(ig) ) / REAL(nexca)
     
    873839          sum_error = sum_error + error
    874840          ALLOCATE(cpl_windsp2D(nbp_lon,jj_nb), stat=error)
    875           sum_error = sum_error + error
    876           ALLOCATE(cpl_sens_rain2D(nbp_lon,jj_nb,2), stat=error)
    877           sum_error = sum_error + error
    878           ALLOCATE(cpl_sens_snow2D(nbp_lon,jj_nb,2), stat=error)
    879841          sum_error = sum_error + error
    880842          ALLOCATE(cpl_taumod2D(nbp_lon,jj_nb,2), stat=error)
     
    927889
    928890       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), &
    935891            knon, knindex)
    936892
     
    11221078    tab_flds(:,:,ids_nsfice) = cpl_nsol2D(:,:,2)
    11231079    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)
    11281080   
    11291081    IF (version_ocean=='nemo') THEN
     
    13271279    DEALLOCATE(cpl_taux2D, cpl_tauy2D, cpl_windsp2D, cpl_taumod2D, stat=error )
    13281280    sum_error = sum_error + error
    1329     DEALLOCATE(cpl_sens_rain2D, cpl_sens_snow2D, stat=error)
    1330     sum_error = sum_error + error
    1331 
    13321281   
    13331282    IF (carbon_cycle_cpl) THEN
  • LMDZ5/trunk/libf/phylmd/oasis.F90

    r2538 r2545  
    5555  INTEGER, PARAMETER :: ids_atmco2 = 24
    5656  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
    6258 
    6359  ! Id for fields received from ocean
     
    181177            infosend(ids_atmco2)%action = .TRUE. ; infosend(ids_atmco2)%name = 'COATMCO2'
    182178        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'
    187179       
    188180    ELSE IF (version_ocean=='opa8') THEN
  • LMDZ5/trunk/libf/phylmd/ocean_cpl_mod.F90

    r2538 r2545  
    191191    CALL cpl_send_ocean_fields(itime, knon, knindex, &
    192192         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)
    195196   
    196197
     
    352353       pctsrf, lafin, rlon, rlat, &
    353354       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)
    356358
    357359 
Note: See TracChangeset for help on using the changeset viewer.