--- trunk/libf/phylmd/physiq.f90 2010/06/02 11:01:12 34 +++ trunk/libf/phylmd/physiq.f90 2011/02/22 13:49:36 40 @@ -9,11 +9,11 @@ contains - SUBROUTINE physiq(firstcal, lafin, rdayvrai, gmtime, pdtphys, paprs, & + SUBROUTINE physiq(lafin, rdayvrai, gmtime, pdtphys, paprs, & pplay, pphi, pphis, u, v, t, qx, omega, d_u, d_v, & d_t, d_qx, d_ps, dudyn, PVteta) - ! From phylmd/physiq.F, v 1.22 2006/02/20 09:38:28 + ! From phylmd/physiq.F, version 1.22 2006/02/20 09:38:28 ! Author : Z.X. Li (LMD/CNRS), date: 1993/08/18 @@ -31,6 +31,7 @@ ok_kzmin use clesphys2, only: iflag_con, ok_orolf, ok_orodr, nbapp_rad, & cycle_diurne, new_oliq, soil_model + use clmain_m, only: clmain use comgeomphy use conf_gcm_m, only: raz_date, offline use conf_phys_m, only: conf_phys @@ -58,8 +59,8 @@ use radepsi use radopt use temps, only: itau_phy, day_ref, annee_ref - use yoethf - use YOMCST, only: rcpd, rtt, rlvtt, rg, ra, rsigma, retv, romega + use yoethf_m + use SUPHEC_M, only: rcpd, rtt, rlvtt, rg, ra, rsigma, retv, romega ! Declaration des constantes et des fonctions thermodynamiques : use fcttre, only: thermcep, foeew, qsats, qsatl @@ -71,7 +72,6 @@ REAL, intent(in):: gmtime ! heure de la journée en fraction de jour REAL, intent(in):: pdtphys ! pas d'integration pour la physique (seconde) - LOGICAL, intent(in):: firstcal ! first call to "calfis" logical, intent(in):: lafin ! dernier passage REAL, intent(in):: paprs(klon, llm+1) @@ -86,7 +86,7 @@ REAL pphis(klon) ! input geopotentiel du sol REAL u(klon, llm) ! input vitesse dans la direction X (de O a E) en m/s - REAL v(klon, llm) ! input vitesse Y (de S a N) en m/s + REAL, intent(in):: v(klon, llm) ! vitesse Y (de S a N) en m/s REAL t(klon, llm) ! input temperature (K) REAL, intent(in):: qx(klon, llm, nqmx) @@ -99,6 +99,8 @@ REAL d_qx(klon, llm, nqmx) ! output tendance physique de "qx" (kg/kg/s) REAL d_ps(klon) ! output tendance physique de la pression au sol + LOGICAL:: firstcal = .true. + INTEGER nbteta PARAMETER(nbteta=3) @@ -403,7 +405,6 @@ EXTERNAL alboc ! calculer l'albedo sur ocean EXTERNAL ajsec ! ajustement sec - EXTERNAL clmain ! couche limite !KE43 EXTERNAL conema3 ! convect4.3 EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) @@ -1034,27 +1035,20 @@ fder = dlw - CALL clmain(pdtphys, itap, date0, pctsrf, pctsrf_new, & - t_seri, q_seri, u_seri, v_seri, & - julien, rmu0, co2_ppm, & - ok_veget, ocean, npas, nexca, ftsol, & - soil_model, cdmmax, cdhmax, & - ksta, ksta_ter, ok_kzmin, ftsoil, qsol, & - paprs, pplay, fsnow, fqsurf, fevap, falbe, falblw, & - fluxlat, rain_fall, snow_fall, & - fsolsw, fsollw, sollwdown, fder, & - rlon, rlat, cuphy, cvphy, frugs, & - firstcal, lafin, agesno, rugoro, & - d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, & - fluxt, fluxq, fluxu, fluxv, cdragh, cdragm, & - q2, dsens, devap, & - ycoefh, yu1, yv1, t2m, q2m, u10m, v10m, & - pblh, capCL, oliqCL, cteiCL, pblT, & - therm, trmb1, trmb2, trmb3, plcl, & - fqcalving, ffonte, run_off_lic_0, & - fluxo, fluxg, tslab, seaice) + ! Couche limite: + + CALL clmain(pdtphys, itap, date0, pctsrf, pctsrf_new, t_seri, q_seri, & + u_seri, v_seri, julien, rmu0, co2_ppm, ok_veget, ocean, npas, nexca, & + ftsol, soil_model, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, & + qsol, paprs, pplay, fsnow, fqsurf, fevap, falbe, falblw, fluxlat, & + rain_fall, snow_fall, fsolsw, fsollw, sollwdown, fder, rlon, rlat, & + cuphy, cvphy, frugs, firstcal, lafin, agesno, rugoro, d_t_vdf, & + d_q_vdf, d_u_vdf, d_v_vdf, d_ts, fluxt, fluxq, fluxu, fluxv, cdragh, & + cdragm, q2, dsens, devap, ycoefh, yu1, yv1, t2m, q2m, u10m, v10m, & + pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, trmb3, plcl, & + fqcalving, ffonte, run_off_lic_0, fluxo, fluxg, tslab, seaice) - !XXX Incrementation des flux + ! Incrémentation des flux zxfluxt=0. zxfluxq=0. @@ -1801,10 +1795,10 @@ END IF ! Calcul des tendances traceurs - call phytrac(rnpb, itap, lmt_pas, julien, gmtime, firstcal, lafin, nqmx-2, & - pdtphys, u, v, t, paprs, pplay, pmfu, pmfd, pen_u, pde_u, pen_d, & - pde_d, ycoefh, fm_therm, entr_therm, yu1, yv1, ftsol, pctsrf, & - frac_impa, frac_nucl, pphis, pphi, albsol, rhcl, cldfra, rneb, & + call phytrac(rnpb, itap, lmt_pas, julien, gmtime, firstcal, lafin, & + nqmx-2, pdtphys, u, t, paprs, pplay, pmfu, pmfd, pen_u, pde_u, & + pen_d, pde_d, ycoefh, fm_therm, entr_therm, yu1, yv1, ftsol, pctsrf, & + frac_impa, frac_nucl, pphis, pphi, albsol, rhcl, cldfra, rneb, & diafra, cldliq, pmflxr, pmflxs, prfl, psfl, da, phi, mp, upwd, dnwd, & tr_seri, zmasse) @@ -1913,6 +1907,8 @@ t_ancien, q_ancien, rnebcon, ratqs, clwcon, run_off_lic_0) ENDIF + firstcal = .FALSE. + contains subroutine write_histday