Ignore:
Timestamp:
Jul 22, 2015, 4:14:51 PM (9 years ago)
Author:
lguez
Message:

New parameterization of gravity wave drag due to front/jet systems, by

  1. de la Camara and F. Lott. The new Camara-Lott parameterization

replaces the Hines parameterization so it is activated if not ok_hines
and ok_gwd_rando.

Also changed distribution of phase speeds in FLOTT_GWD_rando, from
uniform to Gaussian. Bug fix in sugwd_strato. Bug fix in the arguments
of the call to add_phys_tend for methane oxydation.

For the new Camara-Lott parameterization, we need to compute relative
vorticity in calfis and pass it as a new argument "rot" to
physiq. Interpolation of relative vorticity to the physics grid is not
optimal for now: it is not weighted by cell areas.

Alvaro de la Camara, Fran\c{}cois Lott

File:
1 edited

Legend:

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

    r2320 r2333  
    11!
    2 ! $Id$
     2! $Header$
    33!
    44MODULE phys_output_write_mod
     
    132132         o_duvdf, o_dvvdf, o_duoro, o_dvoro, &
    133133         o_dtoro, o_dulif, o_dvlif, o_dtlif, &
    134          o_duhin, o_dvhin, o_dthin, o_dqch4, o_rsu, &
     134         o_du_gwd_hines, o_dv_gwd_hines, o_dthin, o_dqch4, o_rsu, &
     135         o_du_gwd_front, o_dv_gwd_front, &
     136         o_east_gwstress, o_west_gwstress, &
    135137         o_rsd, o_rlu, o_rld, o_rsucs, o_rsdcs, &
    136138         o_rlucs, o_rldcs, o_tnt, o_tntr, &
     
    151153         o_dtr_ls, o_dtr_trsp, o_dtr_sscav, &
    152154         o_dtr_sat, o_dtr_uscav, o_trac_cum, o_du_gwd_rando, o_dv_gwd_rando, &
    153          o_vstr_gwd_rando
     155         o_ustr_gwd_hines,o_vstr_gwd_hines,o_ustr_gwd_rando,o_vstr_gwd_rando, &
     156         o_ustr_gwd_front,o_vstr_gwd_front
    154157
    155158    USE phys_state_var_mod, only: pctsrf, paire_ter, rain_fall, snow_fall, &
     
    174177         vqsumSTD, vTsumSTD, O3daysumSTD, wqsumSTD, &
    175178         vphisumSTD, wTsumSTD, u2sumSTD, v2sumSTD, &
    176          T2sumSTD, nlevSTD, du_gwd_rando, dv_gwd_rando, &
     179         T2sumSTD, nlevSTD, du_gwd_rando, du_gwd_front, &
    177180         ulevSTD, vlevSTD, wlevSTD, philevSTD, qlevSTD, tlevSTD, &
    178181         rhlevSTD, O3STD, O3daySTD, uvSTD, vqSTD, vTSTD, wqSTD, &
     
    230233         zw2, fraca, zmax_th, d_q_ajsb, d_t_ec, d_u_vdf, &
    231234         d_v_vdf, d_u_oro, d_v_oro, d_t_oro, d_u_lif, &
    232          d_v_lif, d_t_lif, d_u_hin, d_v_hin, d_t_hin, &
     235         d_v_lif, d_t_lif, du_gwd_hines, dv_gwd_hines, d_t_hin, &
     236         dv_gwd_rando, dv_gwd_front, &
     237         east_gwstress, west_gwstress, &
    233238         d_q_ch4, pmfd, pmfu, ref_liq, ref_ice, rhwriteSTD
    234239
    235240    USE phys_output_var_mod, only: vars_defined, snow_o, zfra_o, bils_diss, &
    236241         bils_ec,bils_ech, bils_tke, bils_kinetic, bils_latent, bils_enthalp, &
    237          itau_con, nfiles, clef_files, nid_files, zvstr_gwd_rando
     242         itau_con, nfiles, clef_files, nid_files, &
     243         zustr_gwd_hines, zvstr_gwd_hines,zustr_gwd_rando, zvstr_gwd_rando, &
     244         zustr_gwd_front, zvstr_gwd_front                                   
    238245    USE ocean_slab_mod, only: tslab, slab_bils, slab_bilg, tice, seaice
    239246    USE pbl_surface_mod, only: snow
     
    12171224
    12181225       IF (ok_hines) THEN
    1219           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_u_hin(1:klon,1:klev)/pdtphys
    1220           CALL histwrite_phy(o_duhin, zx_tmp_fi3d)
    1221           IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_v_hin(1:klon,1:klev)/pdtphys
    1222           CALL histwrite_phy(o_dvhin, zx_tmp_fi3d)
     1226          CALL histwrite_phy(o_du_gwd_hines, du_gwd_hines/pdtphys)
     1227          CALL histwrite_phy(o_dv_gwd_hines, dv_gwd_hines/pdtphys)
    12231228          IF(vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_hin(1:klon,1:klev)/pdtphys
    12241229          CALL histwrite_phy(o_dthin, zx_tmp_fi3d)
     1230          CALL histwrite_phy(o_ustr_gwd_hines, zustr_gwd_hines)
     1231          CALL histwrite_phy(o_vstr_gwd_hines, zvstr_gwd_hines)
     1232       end IF
     1233
     1234       if (.not. ok_hines .and. ok_gwd_rando) then
     1235          CALL histwrite_phy(o_du_gwd_front, du_gwd_front / pdtphys)
     1236          CALL histwrite_phy(o_dv_gwd_front, dv_gwd_front / pdtphys)
     1237          CALL histwrite_phy(o_ustr_gwd_front, zustr_gwd_front)
     1238          CALL histwrite_phy(o_vstr_gwd_front, zvstr_gwd_front)
    12251239       ENDIF
    12261240
     
    12281242          CALL histwrite_phy(o_du_gwd_rando, du_gwd_rando / pdtphys)
    12291243          CALL histwrite_phy(o_dv_gwd_rando, dv_gwd_rando / pdtphys)
     1244          CALL histwrite_phy(o_ustr_gwd_rando, zustr_gwd_rando)
    12301245          CALL histwrite_phy(o_vstr_gwd_rando, zvstr_gwd_rando)
     1246          CALL histwrite_phy(o_east_gwstress, east_gwstress )
     1247          CALL histwrite_phy(o_west_gwstress, west_gwstress )
    12311248       end IF
    12321249
Note: See TracChangeset for help on using the changeset viewer.