Ignore:
Timestamp:
Jul 29, 2016, 5:26:20 PM (8 years ago)
Author:
jyg
Message:

Change of arguments of 'calltherm' in 'physiq' so
that t_seri, q_seri, ... variables are changed by
a call to 'add_phys_tend'.

The 'USE phys_local_var_mod' instruction in
'physiq' is completed with 'ONLY' and the list of
the relevant variables.

File:
1 edited

Legend:

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

    r2590 r2606  
    3434    USE change_srf_frac_mod
    3535    USE surface_data,     ONLY : type_ocean, ok_veget, ok_snow
    36     USE phys_local_var_mod ! Variables internes non sauvegardees de la physique
     36    USE phys_local_var_mod, ONLY: phys_local_var_init, phys_local_var_end, &
     37       ! [Variables internes non sauvegardees de la physique]
     38       ! Variables locales pour effectuer les appels en serie
     39       t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,tr_seri, &
     40       ! Dynamic tendencies (diagnostics)
     41       d_t_dyn,d_q_dyn,d_ql_dyn,d_qs_dyn,d_u_dyn,d_v_dyn,d_tr_dyn, &
     42       d_q_dyn2d,d_ql_dyn2d,d_qs_dyn2d, &
     43       ! Physic tendencies
     44       d_t_con,d_q_con,d_u_con,d_v_con, &
     45       d_tr, &                              !! to be removed?? (jyg)
     46       d_t_wake,d_q_wake, &
     47       d_t_lwr,d_t_lw0,d_t_swr,d_t_sw0, &
     48       d_t_ajsb,d_q_ajsb, &
     49       d_t_ajs,d_q_ajs,d_u_ajs,d_v_ajs, &
     50       d_t_ajs_w,d_q_ajs_w, &
     51       d_t_ajs_x,d_q_ajs_x, &
     52       !
     53       d_t_eva,d_q_eva, &
     54       d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc, &
     55       d_t_lscst,d_q_lscst, &
     56       d_t_lscth,d_q_lscth, &
     57       plul_st,plul_th, &
     58       !
     59       d_t_vdf,d_q_vdf,d_u_vdf,d_v_vdf,d_t_diss, &
     60       d_t_vdf_w,d_q_vdf_w, &
     61       d_t_vdf_x,d_q_vdf_x, &
     62       d_ts, &
     63       !
     64       d_t_oli,d_u_oli,d_v_oli, &
     65       d_t_oro,d_u_oro,d_v_oro, &
     66       d_t_lif,d_u_lif,d_v_lif, &
     67       d_t_ec, &
     68       !
     69       du_gwd_hines,dv_gwd_hines,d_t_hin, &
     70       dv_gwd_rando,dv_gwd_front, &
     71       east_gwstress,west_gwstress, &
     72       d_q_ch4, &
     73       !  Special RRTM
     74       ZLWFT0_i,ZSWFT0_i,ZFLDN0,  &
     75       ZFLUP0,ZFSDN0,ZFSUP0,      &
     76       !
     77       topswad_aero,solswad_aero,   &
     78       topswai_aero,solswai_aero,   &
     79       topswad0_aero,solswad0_aero, &
     80       !LW additional
     81       toplwad_aero,sollwad_aero,   &
     82       toplwai_aero,sollwai_aero,   &
     83       toplwad0_aero,sollwad0_aero, &
     84       !
     85       topsw_aero,solsw_aero,       &
     86       topsw0_aero,solsw0_aero,     &
     87       topswcf_aero,solswcf_aero,   &
     88       tausum_aero,tau3d_aero,      &
     89       !
     90       !variables CFMIP2/CMIP5
     91       topswad_aerop, solswad_aerop,   &
     92       topswai_aerop, solswai_aerop,   &
     93       topswad0_aerop, solswad0_aerop, &
     94       topsw_aerop, topsw0_aerop,      &
     95       solsw_aerop, solsw0_aerop,      &
     96       topswcf_aerop, solswcf_aerop,   &
     97       !LW diagnostics
     98       toplwad_aerop, sollwad_aerop,   &
     99       toplwai_aerop, sollwai_aerop,   &
     100       toplwad0_aerop, sollwad0_aerop, &
     101       !
     102       ptstar, pt0, slp, &
     103       !
     104       bils, &
     105       !
     106       cldh, cldl,cldm, cldq, cldt,      &
     107       JrNt,                             &
     108       dthmin, evap, fder, plcl, plfc,   &
     109       prw, prlw, prsw,                  &
     110       s_lcl, s_pblh, s_pblt, s_therm,   &
     111       cdragm, cdragh,                   &
     112       zustar, zu10m, zv10m, rh2m, qsat2m, &
     113       zq2m, zt2m, weak_inversion, &
     114       zt2m_min_mon, zt2m_max_mon,   &         ! pour calcul_divers.h
     115       t2m_min_mon, t2m_max_mon,  &            ! pour calcul_divers.h
     116       !
     117       s_pblh_x, s_pblh_w, &
     118       s_lcl_x, s_lcl_w,   &
     119       !
     120       slab_wfbils, tpot, tpote,               &
     121       ue, uq, ve, vq, zxffonte,               &
     122       zxfqcalving, zxfluxlat,                 &
     123       zxrunofflic,                            &
     124       zxtsol, snow_lsc, zxfqfonte, zxqsurf,   &
     125       rain_lsc, rain_num,                     &
     126       !
     127       sens_x, sens_w, &
     128       zxfluxlat_x, zxfluxlat_w, &
     129       !
     130       dtvdf_x, dtvdf_w, &
     131       dqvdf_x, dqvdf_w, &
     132       undi_tke, wake_tke, &
     133       pbl_tke_input, &
     134       t_therm, q_therm, u_therm, v_therm, &
     135       cdragh_x, cdragh_w, &
     136       cdragm_x, cdragm_w, &
     137       kh, kh_x, kh_w, &
     138       !
     139       ale_wake, alp_wake, &
     140       wake_h, wbeff, zmax_th, &
     141       sens, flwp, fiwp,  &
     142       ale_bl_stat,alp_bl_conv,alp_bl_det,  &
     143       alp_bl_fluct_m,alp_bl_fluct_tke,  &
     144       alp_bl_stat, n2, s2,  &
     145       proba_notrig, random_notrig,  &
     146       !
     147       dnwd, dnwd0,  &
     148       upwd, omega,  &
     149       epmax_diag,  &
     150       ep,  &
     151       cldemi,  &
     152       cldfra, cldtau, fiwc,  &
     153       fl, re, flwc,  &
     154       ref_liq, ref_ice, theta,  &
     155       ref_liq_pi, ref_ice_pi,  &
     156       zphi, wake_omg, zx_rh,  &
     157       pmfd, pmfu,  &
     158       !
     159       t2m, fluxlat,  &
     160       fsollw, evap_pot,  &
     161       fsolsw, wfbils, wfbilo,  &
     162       
     163       pmflxr, pmflxs, prfl,  &
     164       psfl, fraca, Vprecip,  &
     165       zw2,  &
     166       
     167       fluxu, fluxv,  &
     168       fluxt,  &
     169
     170       uwriteSTD, vwriteSTD, &                !pour calcul_STDlev.h
     171       wwriteSTD, phiwriteSTD, &              !pour calcul_STDlev.h
     172       qwriteSTD, twriteSTD, rhwriteSTD, &    !pour calcul_STDlev.h
     173       
     174       wdtrainA, wdtrainM,  &
     175       beta_prec,  &
     176       rneb,  &
     177       zxsnow,snowhgt,qsnow,to_ice,sissnow,runoff,albsol3_lic
     178       !
    37179    USE phys_state_var_mod ! Variables sauvegardees de la physique
    38180    USE phys_output_var_mod ! Variables pour les ecritures des sorties
     
    27082850                   t_therm(i,k) = t_seri(i,k) - wake_s(i)*wake_deltat(i,k)
    27092851                   q_therm(i,k) = q_seri(i,k) - wake_s(i)*wake_deltaq(i,k)
     2852                   u_therm(i,k) = u_seri(i,k)
     2853                   v_therm(i,k) = v_seri(i,k)
    27102854                ENDDO
    27112855             ENDDO
     
    27162860                   t_therm(i,k) = t_seri(i,k)
    27172861                   q_therm(i,k) = q_seri(i,k)
     2862                   u_therm(i,k) = u_seri(i,k)
     2863                   v_therm(i,k) = v_seri(i,k)
    27182864                ENDDO
    27192865             ENDDO
     
    27222868          call calltherm(pdtphys &
    27232869               ,pplay,paprs,pphi,weak_inversion &
    2724                                 ! ,u_seri,v_seri,t_seri,q_seri,zqsat,debut &
    2725                !jyg
    2726                ,u_seri,v_seri,t_therm,q_therm,zqsat,debut &  !jyg
     2870                        ! ,u_seri,v_seri,t_seri,q_seri,zqsat,debut & !jyg
     2871               ,u_therm,v_therm,t_therm,q_therm,zqsat,debut &  !jyg
    27272872               ,d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs &
    27282873               ,fm_therm,entr_therm,detr_therm &
     
    27532898                   wake_deltat(i,k) = wake_deltat(i,k) - d_t_ajs(i,k)
    27542899                   wake_deltaq(i,k) = wake_deltaq(i,k) - d_q_ajs(i,k)
    2755                    t_seri(i,k) = t_therm(i,k) + wake_s(i)*wake_deltat(i,k)
    2756                    q_seri(i,k) = q_therm(i,k) + wake_s(i)*wake_deltaq(i,k)
     2900                   !
     2901                   !!!t_seri(i,k) = t_therm(i,k) + wake_s(i)*wake_deltat(i,k)
     2902                   !!!q_seri(i,k) = q_therm(i,k) + wake_s(i)*wake_deltaq(i,k)
    27572903                   !
    27582904                   d_u_ajs(i,k) = d_u_ajs(i,k)*(1.-wake_s(i))
     
    27632909                ENDDO
    27642910             ENDDO
    2765           ELSE
    2766              DO k=1,klev
    2767                 DO i=1,klon
    2768                    t_seri(i,k) = t_therm(i,k)
    2769                    q_seri(i,k) = q_therm(i,k)
    2770                 ENDDO
    2771              ENDDO
     2911!!!          ELSE
     2912!!!             DO k=1,klev
     2913!!!                DO i=1,klon
     2914!!!                   t_seri(i,k) = t_therm(i,k)
     2915!!!                   q_seri(i,k) = q_therm(i,k)
     2916!!!                ENDDO
     2917!!!             ENDDO
    27722918          ENDIF
     2919          !
     2920          CALL add_phys_tend(d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs,  &
     2921                             dql0,dqi0,paprs,'thermals', abortphy)
     2922          !
    27732923          !>jyg
    27742924!jyg<
Note: See TracChangeset for help on using the changeset viewer.