Ignore:
Timestamp:
Jun 3, 2016, 4:12:16 PM (9 years ago)
Author:
Laurent Fairhead
Message:

Computation of heat fluxes associated with solid and liquid precipitations
over ocean and seaice. Quantities are sent to the coupler
LF

File:
1 edited

Legend:

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

    • Property svn:keywords changed from Author Date Id Revision to Id
    r2254 r2538  
     1!
     2! $Id$
    13!
    24MODULE ocean_cpl_mod
     
    1012
    1113  PUBLIC :: ocean_cpl_init, ocean_cpl_noice, ocean_cpl_ice
     14
    1215
    1316!****************************************************************************************
     
    6366    USE calcul_fluxs_mod
    6467    USE indice_sol_mod
     68    USE phys_output_var_mod, ONLY : sens_prec_liq_o, sens_prec_sol_o, lat_prec_liq_o, lat_prec_sol_o
     69    USE cpl_mod,             ONLY : gath2cpl
    6570
    6671    INCLUDE "YOMCST.h"
     
    99104    REAL, DIMENSION(klon), INTENT(OUT)       :: tsurf_new
    100105    REAL, DIMENSION(klon), INTENT(OUT)       :: dflux_s, dflux_l     
     106 
    101107
    102108! Local variables
    103109!****************************************************************************************
    104     INTEGER               :: i
     110    INTEGER               :: i, j
    105111    INTEGER, DIMENSION(1) :: iloc
    106112    REAL, DIMENSION(klon) :: cal, beta, dif_grnd
     
    110116    REAL, DIMENSION(klon) :: u1_lay, v1_lay
    111117    LOGICAL               :: check=.FALSE.
     118    REAL, DIMENSION(klon) :: sens_prec_liq, sens_prec_sol   
     119    REAL, DIMENSION(klon) :: lat_prec_liq, lat_prec_sol   
    112120
    113121! End definitions
     
    130138    dif_grnd = 0.
    131139    agesno(:) = 0.
     140    sens_prec_liq = 0.; sens_prec_sol = 0.; lat_prec_liq = 0.; lat_prec_sol = 0.
     141   
    132142
    133143    DO i = 1, knon
     
    141151         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    142152         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    143          tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
     153         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
     154         sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol)
     155    do j = 1, knon
     156      i = knindex(j)
     157      sens_prec_liq_o(i,1) = sens_prec_liq(j)
     158      sens_prec_sol_o(i,1) = sens_prec_sol(j)
     159      lat_prec_liq_o(i,1) = lat_prec_liq(j)
     160      lat_prec_sol_o(i,1) = lat_prec_sol(j)
     161    enddo
     162
     163
    144164   
    145165! - Flux calculation at first modele level for U and V
     
    171191    CALL cpl_send_ocean_fields(itime, knon, knindex, &
    172192         swnet, lwnet, fluxlat, fluxsens, &
    173          precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, flux_u1, flux_v1, windsp)
     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)
    174195   
    175196
     
    199220    USE calcul_fluxs_mod
    200221    USE indice_sol_mod
     222    USE phys_output_var_mod, ONLY : sens_prec_liq_o, sens_prec_sol_o, lat_prec_liq_o, lat_prec_sol_o
    201223
    202224    INCLUDE "YOMCST.h"
     
    237259    REAL, DIMENSION(klon), INTENT(OUT)       :: tsurf_new
    238260    REAL, DIMENSION(klon), INTENT(OUT)       :: dflux_s, dflux_l     
     261 
    239262
    240263! Local variables
    241264!****************************************************************************************
    242     INTEGER                 :: i
     265    INTEGER                 :: i, j
    243266    INTEGER, DIMENSION(1)   :: iloc
    244267    LOGICAL                 :: check=.FALSE.
     
    249272    REAL, DIMENSION(klon)   :: u0, v0
    250273    REAL, DIMENSION(klon)   :: u1_lay, v1_lay
     274    REAL, DIMENSION(klon) :: sens_prec_liq, sens_prec_sol   
     275    REAL, DIMENSION(klon) :: lat_prec_liq, lat_prec_sol   
    251276
    252277! End definitions
     
    254279   
    255280    IF (check) WRITE(*,*)'Entering surface_seaice, knon=',knon
     281
     282    sens_prec_liq = 0.; sens_prec_sol = 0.; lat_prec_liq = 0.; lat_prec_sol = 0.
    256283
    257284!****************************************************************************************
     
    285312         radsol, dif_grnd, temp_air, spechum, u1_lay, v1_lay, gustiness, &
    286313         f_qsat_oce,AcoefH, AcoefQ, BcoefH, BcoefQ, &
    287          tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l)
     314         tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, &
     315         sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol)
     316    do j = 1, knon
     317      i = knindex(j)
     318      sens_prec_liq_o(i,2) = sens_prec_liq(j)
     319      sens_prec_sol_o(i,2) = sens_prec_sol(j)
     320      lat_prec_liq_o(i,2) = lat_prec_liq(j)
     321      lat_prec_sol_o(i,2) = lat_prec_sol(j)
     322    enddo
    288323
    289324
     
    317352       pctsrf, lafin, rlon, rlat, &
    318353       swnet, lwnet, fluxlat, fluxsens, &
    319        precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, flux_u1, flux_v1)
     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)
     356
    320357 
    321358
Note: See TracChangeset for help on using the changeset viewer.