4 SUBROUTINE physiq (nlon,nlev, &
 
    5      debut,lafin,jd_cur_,jh_cur_,pdtphys_, &
 
    9      d_u, d_v, d_t, d_qx, d_ps &
 
   13        histwrite, ju2ymds, 
ymds2ju, getin
 
   54   USE wxios
, ONLY: missing_val, missing_val_omp
 
   55   USE xios
, ONLY: xios_get_field_attr
 
   58   USE chem_rep
, ONLY : init_chem_rep_xjour
 
  126   include 
"thermcell.h" 
  146         INTEGER iflag_cycle_diurne
 
  199   REAL tau_overturning_th(
klon)
 
  201   integer lmax_th(
klon)
 
  222   REAL, 
intent(in):: jD_cur_, jH_cur_ 
 
  224   REAL,
INTENT(IN) :: pdtphys_
 
  257   REAL, 
SAVE :: missing_val
 
  272   include 
"declare_STDlev.h" 
  292   INTEGER imin_debut, nbpti
 
  293   INTEGER jmin_debut, nbptj 
 
  302   INTEGER,
PARAMETER :: longcles=20
 
  303   REAL,
SAVE :: clesphy0(longcles)
 
  311   INTEGER, 
SAVE :: abortphy=0   
 
  314   REAL,
save ::  solarlong0
 
  348   REAL wape_prescr, fip_prescr
 
  349   INTEGER it_wape_prescr
 
  350   SAVE wape_prescr, fip_prescr, it_wape_prescr
 
  357   real, 
save :: alp_bl_prescr=0.
 
  358   real, 
save :: ale_bl_prescr=0.
 
  360   real, 
save :: ale_max=1000.
 
  361   real, 
save :: alp_max=2.
 
  363   real, 
save :: wake_s_min_lsp=0.1
 
  418   LOGICAL,
SAVE :: ok_adjwk=.
false.
 
  420   REAL, 
dimension(klon) :: www
 
  421   REAL, 
SAVE :: alp_offset
 
  450   real therm_tke_max0(
klon)                              
 
  451   real env_tke_max0(
klon)                                
 
  454   integer :: tau_trig(
klon)
 
  456   REAL,
SAVE :: random_notrig_max=1.
 
  492   REAL rain_tiedtke(
klon),snow_tiedtke(
klon)
 
  502   REAL :: day_since_equinox
 
  504   INTEGER, 
parameter :: mth_eq=3, day_eq=21
 
  507   LOGICAL, 
parameter :: new_orbit = .
true.
 
  515   real, 
parameter:: dobson_u = 2.1415e-05 
 
  588   REAL zxsnow_dummy(
klon)
 
  593   REAL zdtime, zdtime1, zdtime2, zlongi
 
  600   REAL zx_t, zx_qs, zdelta, zcor, zlvdcp, zlsdcp
 
  603   INTEGER i, k, iq, ig, j, nsrf, ll, l, iiq
 
  621   CHARACTER*40 capemaxcels  
 
  624   INTEGER iflagctrl(
klon)          
 
  645   REAL, 
dimension(klon,klev):: du0, dv0, dt0, dq0, dql0, dqi0
 
  659   real ratqsbas,ratqshaut,tau_ratqs
 
  660   save ratqsbas,ratqshaut,tau_ratqs
 
  670   save fact_cldcon,facttemps
 
  697   REAL tabcntr0( length       )
 
  729   REAL zx_tmp_fi2d(
klon)      
 
  735   INTEGER nid_day_seri, nid_ctesGCM
 
  736   SAVE nid_day_seri, nid_ctesgcm
 
  758   character*80 abort_message
 
  759   logical, 
save ::  ok_sync, ok_sync_omp
 
  765   integer fid_day, fid_mth, fid_ins
 
  766   parameter(fid_ins = 1, fid_day = 2, fid_mth = 3) 
 
  767   integer prof2d_on, prof3d_on, prof2d_av, prof3d_av
 
  768   parameter(prof2d_on = 1, prof3d_on = 2, &
 
  769        prof2d_av = 3, prof3d_av = 4)
 
  772   REAL      d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec
 
  774   REAL      fs_bound, fq_bound
 
  789   CHARACTER*40 t2mincels, t2maxcels       
 
  790   CHARACTER*40 tinst, tave, typeval
 
  795   CHARACTER*4, 
DIMENSION(naero_grp) :: rfname 
 
  796   REAL, 
DIMENSION(klon,klev)     :: mass_solu_aero    
 
  797   REAL, 
DIMENSION(klon,klev)     :: mass_solu_aero_pi 
 
  800   LOGICAL ok_ade, ok_aie    
 
  802   REAL bl95_b0, bl95_b1   
 
  803   SAVE ok_ade, ok_aie, ok_cdnc, bl95_b0, bl95_b1
 
  805   LOGICAL, 
SAVE :: aerosol_couple 
 
  808   INTEGER, 
SAVE :: flag_aerosol 
 
  810   LOGICAL, 
SAVE :: new_aod
 
  814   LOGICAL, 
SAVE :: flag_aerosol_strat
 
  820   LOGICAL,
SAVE :: first=.
true.
 
  823   integer, 
save::  read_climoz 
 
  831   integer, 
save:: ncid_climoz 
 
  834   real, 
pointer, 
save:: press_climoz(:)
 
  839   integer, 
save:: co3i = 0
 
  864   REAL :: zx_tmp_0d(1,1)
 
  865   INTEGER, 
PARAMETER :: np=1
 
  866   REAL,
dimension(klon_glo)        :: rlat_glo
 
  867   REAL,
dimension(klon_glo)        :: rlon_glo
 
  868   REAL gbils(1), gevap(1), gevapt(1), glat(1), gnet0(1), gnet(1)
 
  869   REAL grain(1), gtsol(1), gt2m(1), gprw(1)
 
  872   INTEGER, 
SAVE :: nCFMIP
 
  874   INTEGER, 
PARAMETER :: npCFMIP=120
 
  875   INTEGER, 
ALLOCATABLE, 
SAVE :: tabCFMIP(:)
 
  876   REAL, 
ALLOCATABLE, 
SAVE :: lonCFMIP(:), latCFMIP(:)
 
  878   INTEGER, 
ALLOCATABLE, 
SAVE :: tabijGCM(:)
 
  879   REAL, 
ALLOCATABLE, 
SAVE :: lonGCM(:), latGCM(:)
 
  881   INTEGER, 
ALLOCATABLE, 
SAVE :: iGCM(:), jGCM(:)
 
  883   logical, 
dimension(nfiles)            :: phys_out_filestations
 
  884   logical, 
parameter :: lNMC=.
false.
 
  887   REAL, 
SAVE :: pfree, beta_pbl, beta_free
 
  889   REAL, 
SAVE :: lon1_beta,  lon2_beta, lat1_beta, lat2_beta
 
  891   LOGICAL, 
SAVE :: mskocean_beta
 
  893   REAL, 
dimension(klon, klev) :: beta         
 
  894   REAL, 
dimension(klon, klev) :: cldtaurad    
 
  895   REAL, 
dimension(klon, klev) :: cldtaupirad  
 
  896   REAL, 
dimension(klon, klev) :: cldemirad    
 
  897   REAL, 
dimension(klon, klev) :: cldfrarad    
 
  900   REAL, 
dimension(klon,klev) :: sh_in 
 
  905   real,
dimension(6),
save :: SFRWL
 
  926      write(
lunout,*) 
'DEBUT DE PHYSIQ !!!!!!!!!!!!!!!!!!!!' 
  929           'nlon,klev,nqtot,debut,lafin, jD_cur, jH_cur,pdtphys' 
  933      write(
lunout,*) 
'paprs, play, phi, u, v, t' 
  935         write(
lunout,*) paprs(igout,k),pplay(igout,k),pphi(igout,k), &
 
  936              u(igout,k),v(igout,k),t(igout,k)
 
  938      write(
lunout,*) 
'ovap (g/kg),  oliq (g/kg)' 
  940         write(
lunout,*) qx(igout,k,1)*1000,qx(igout,k,2)*1000.
 
  950      print*, 
'=================================================' 
  951      print*, 
'Allocation des variables locales et sauvegardees' 
  960           solarlong0,seuil_inversion, &
 
  961           fact_cldcon, facttemps,ok_newmicro,iflag_radia, &
 
  962           iflag_cld_th,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
 
  963           ok_ade, ok_aie, ok_cdnc, aerosol_couple,  &
 
  964           flag_aerosol, flag_aerosol_strat, new_aod, &
 
  971      print*, 
'=================================================' 
  974      if ((iflag_ice_thermo.gt.0).and.(
nqo==2)) 
then 
  975           WRITE (
lunout, *) 
' iflag_ice_thermo==1 requires 3 H2O tracers (H2Ov, H2Ol, H2Oi)', 
' but nqo=', 
nqo, &
 
  976           '. Might as well stop here.' 
 1006   forall (k=1: 
nbp_lev) zmasse(:, k) = (paprs(:, k)-paprs(:, k+1)) / 
rg 
 1012   IF (ip_ebil_phy.ge.1) 
THEN 
 1020      CALL getin_p(
'random_notrig_max',random_notrig_max)
 
 1021      CALL getin_p(
'ok_adjwk',ok_adjwk)
 
 1024   if(
prt_level.ge.1) print*,
'CONVERGENCE PHYSIQUE THERM 1 ' 
 1054      tau_overturning_th(:)=0.
 
 1074      IF (ip_ebil_phy.ge.1) d_h_vcol_phy=0.
 
 1076      print*,
'iflag_coupl,iflag_clos,iflag_wake', &
 
 1078      print*,
'iflag_CYCLE_DIURNE', iflag_cycle_diurne
 
 1080      IF (
iflag_con.EQ.2.AND.iflag_cld_th.GT.-1) 
THEN 
 1081         abort_message = 
'Tiedtke needs iflag_cld_th=-2 or -1' 
 1096         print*, 
"Using method MELLOR&YAMADA"  
 1109        WRITE(
lunout,*) 
'le nombre de pas de temps physique doit etre un multiple de nbapp_rad' 
 1110        WRITE(
lunout,*) 
'changer nbapp_rad ou alors commenter ce test mais 1+1<>2' 
 1111        abort_message=
'nbre de pas de temps physique n est pas multiple de nbapp_rad' 
 1116      CALL phyetat0 (
"startphy.nc",clesphy0,tabcntr0)
 
 1120         print*,
'FH WARNING : lignes a supprimer' 
 1123      print*,
'physiq: clwcon rnebcon ratqs',
clwcon(1,1),
rnebcon(1,1) &
 
 1138           ok_instan, ok_region )
 
 1141         WRITE(
lunout,*) 
'Pas physique n est pas correct',
dtime, &
 
 1143         abort_message=
'Pas physique n est pas correct ' 
 1147      IF (nlon .NE. 
klon) 
THEN 
 1148         WRITE(
lunout,*)
'nlon et klon ne sont pas coherents', nlon,  &
 
 1150         abort_message=
'nlon et klon ne sont pas coherents' 
 1153      IF (nlev .NE. 
klev) 
THEN 
 1154         WRITE(
lunout,*)
'nlev et klev ne sont pas coherents', nlev, &
 
 1156         abort_message=
'nlev et klev ne sont pas coherents' 
 1160      IF (
dtime*
REAL(
radpas).GT.21600..AND.iflag_cycle_diurne.GE.1) then 
 
 1161         WRITE(
lunout,*)
'Nbre d appels au rayonnement insuffisant' 
 1162         WRITE(
lunout,*)
"Au minimum 4 appels par jour si cycle diurne" 
 1163         abort_message=
'Nbre d appels au rayonnement insuffisant' 
 1167      WRITE(
lunout,*)
"Clef pour le driver de la convection, ok_cvl=", &
 
 1174         WRITE(
lunout,*)
"*** Convection de Kerry Emanuel 4.3  " 
 1176              "On va utiliser le melange convectif des traceurs qui" 
 1177         WRITE(
lunout,*)
"est calcule dans convect4.3" 
 1178         WRITE(
lunout,*)
" !!! penser aux logical flags de phytrac" 
 1195         if (iflag_wake>=1) 
then 
 1196            CALL ini_wake(0.,0.,it_wape_prescr,wape_prescr,fip_prescr &
 
 1197                 ,alp_bl_prescr, ale_bl_prescr)
 
 1210         OPEN(98,file=
'npCFMIP_param.data',status=
'old', &
 
 1211              form=
'formatted',iostat=iostat)
 
 1212         if (iostat == 0) 
then 
 1213            READ(98,*,end=998) ncfmip
 
 1217            IF(ncfmip.GT.npcfmip) 
THEN 
 1218               print*,
'nCFMIP > npCFMIP : augmenter npCFMIP et recompiler' 
 1221               print*,
'physiq npCFMIP=',npcfmip,
'nCFMIP=',ncfmip
 
 1225            ALLOCATE(tabcfmip(ncfmip))
 
 1226            ALLOCATE(loncfmip(ncfmip), latcfmip(ncfmip))
 
 1227            ALLOCATE(tabijgcm(ncfmip))
 
 1228            ALLOCATE(longcm(ncfmip), latgcm(ncfmip))
 
 1229            ALLOCATE(igcm(ncfmip), jgcm(ncfmip))
 
 1243                 tabijgcm, longcm, latgcm, igcm, jgcm)
 
 1246            ALLOCATE(tabijgcm(0))
 
 1247            ALLOCATE(longcm(0), latgcm(0))
 
 1248            ALLOCATE(igcm(0), jgcm(0))
 
 1251         ALLOCATE(tabijgcm(0))
 
 1252         ALLOCATE(longcm(0), latgcm(0))
 
 1253         ALLOCATE(igcm(0), jgcm(0))
 
 1281            if(
zstd(i).gt.10.)
then 
 1289      lmt_pas = nint(86400./
dtime * 1.0)   
 
 1290      WRITE(
lunout,*)
'La frequence de lecture surface est de ',  &
 
 1293      capemaxcels = 
't_max(X)' 
 1294      t2mincels = 
't_min(X)' 
 1295      t2maxcels = 
't_max(X)' 
 1312      CALL getin(
'ok_sync',ok_sync_omp)
 
 1314           igcm,jgcm,longcm,latgcm, &
 
 1317           ok_hf,ok_instan,ok_les,ok_ade,ok_aie,  &
 
 1318           read_climoz, phys_out_filestations, &
 
 1319           new_aod, aerosol_couple, &
 
 1320           flag_aerosol_strat, 
pdtphys, paprs, pphis,  &
 
 1321           pplay, lmax_th, ptconv, ptconvth, ivap,  &
 
 1322           d_t, qx, d_qx, zmasse, ok_sync_omp)
 
 1330      WRITE(
lunout,*)
'OK freq_outNMC(1)=',freq_outnmc(1)
 
 1331      WRITE(
lunout,*)
'OK freq_outNMC(2)=',freq_outnmc(2)
 
 1332      WRITE(
lunout,*)
'OK freq_outNMC(3)=',freq_outnmc(3)
 
 1334      include 
"ini_histday_seri.h" 
 1336      include 
"ini_paramLMDZ_phy.h" 
 1339      ecrit_reg = ecrit_reg * un_jour
 
 1340      ecrit_tra = ecrit_tra * un_jour
 
 1344      WRITE(*,*) 
'physiq date0 : ',date0
 
 1361         calday = 
REAL(days_elapsed) + jH_cur
 
 1395      if (read_climoz >= 1) 
then 
 1408      mskocean_beta=.
false.
 
 1419      sfrwl(4)=3.02191470e-02
 
 1421      sfrwl(1)=1.28432794e-03
 
 1426      sfrwl(6)=3.02191470e-02
 
 1432      OPEN(99,file=
'beta_crf.data',status=
'old', &
 
 1433           form=
'formatted',
err=9999)
 
 1434      READ(99,*,end=9998) pfree
 
 1435      READ(99,*,end=9998) beta_pbl
 
 1436      READ(99,*,end=9998) beta_free
 
 1437      READ(99,*,end=9998) lon1_beta
 
 1438      READ(99,*,end=9998) lon2_beta
 
 1439      READ(99,*,end=9998) lat1_beta
 
 1440      READ(99,*,end=9998) lat2_beta
 
 1441      READ(99,*,end=9998) mskocean_beta
 
 1445      WRITE(*,*)
'pfree=',pfree
 
 1446      WRITE(*,*)
'beta_pbl=',beta_pbl
 
 1447      WRITE(*,*)
'beta_free=',beta_free
 
 1448      WRITE(*,*)
'lon1_beta=',lon1_beta
 
 1449      WRITE(*,*)
'lon2_beta=',lon2_beta
 
 1450      WRITE(*,*)
'lat1_beta=',lat1_beta
 
 1451      WRITE(*,*)
'lat2_beta=',lat2_beta
 
 1452      WRITE(*,*)
'mskocean_beta=',mskocean_beta
 
 1514   beta_prec_fisrt(:,:)=0.
 
 1532         q_seri(i,k)  = qx(i,k,ivap)
 
 1537         else if (
nqo.eq.3) 
then 
 1568         ztsol(i) = ztsol(i) + 
ftsol(i,nsrf)*
pctsrf(i,nsrf)
 
 1572   IF (ip_ebil_phy.ge.1) 
THEN  
 1573      ztit=
'after dynamic' 
 1576           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 1582           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 1583           , zero_v, zero_v, zero_v, ztsol &
 
 1584           , d_h_vcol+d_h_vcol_phy, d_qt, 0. &
 
 1585           , fs_bound, fq_bound )
 
 1647         zphi(i,k) = pphi(i,k) + pphis(i)
 
 1662      print*,
' debut avant hgardfou min max ftsol',itap,amn,amx
 
 1667   IF (abortphy==1) print*,
'ERROR ABORT hgardfou debutphy' 
 1679      print*,
' debut apres hgardfou min max ftsol',itap,amn,amx
 
 1686   if (read_climoz >= 1) 
then 
 1690      if (ro3i == 361) ro3i = 360
 
 1693      if (ro3i /= co3i) 
then 
 1695         if (read_climoz == 1) 
then 
 1696            call regr_pr_av(ncid_climoz, (/
"tro3"/), julien=ro3i, &
 
 1697                 press_in_edg=press_climoz, paprs=paprs, v3=
wo)
 
 1700            call regr_pr_av(ncid_climoz, (/
"tro3         ", 
"tro3_daylight"/), &
 
 1701                 julien=ro3i, press_in_edg=press_climoz, paprs=paprs, v3=
wo)
 
 1705         forall (l = 1: read_climoz) 
wo(:, :, l) = 
wo(:, :, l) * rmo3 / rmd &
 
 1706              * zmasse / dobson_u / 1e3
 
 1713   ELSEIF (mod(itap-1,lmt_pas) == 0) 
THEN 
 1716      IF (solarlong0<-999.) 
then 
 1719      ELSE IF (abs(solarlong0-1000.)<1.e-4) 
then 
 1722         IF (read_climoz/=-1) 
THEN 
 1723            abort_message =
'read_climoz=-1 is recommended when solarlong0=1000.' 
 1737         zlvdcp=rlvtt/rcpd/(1.0+rvtmp2*
q_seri(i,k))
 
 1741         zlsdcp=rlstt/rcpd/(1.0+rvtmp2*
q_seri(i,k))
 
 1742         IF (iflag_ice_thermo .EQ. 0) 
THEN 
 1747         if (iflag_ice_thermo.eq.0) 
then    
 1750         zdelta = max(0.,sign(1.,rtt-
t_seri(i,k)))
 
 1752         za = - max(0.0,
ql_seri(i,k)) &
 
 1753              * (zlvdcp*(1.-zdelta)+zlsdcp*zdelta)
 
 1769         za = - max(0.0,
ql_seri(i,k))*zlvdcp & 
 
 1770              - max(0.0,
qs_seri(i,k))*zlsdcp
 
 1783   IF (ip_ebil_phy.ge.2) 
THEN  
 1787           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 1789           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 1790           , zero_v, zero_v, zero_v, ztsol &
 
 1791           , d_h_vcol, d_qt, d_ec &
 
 1792           , fs_bound, fq_bound )
 
 1804   day_since_equinox = (
jd_cur + jh_cur) - jd_eq
 
 1808   if (solarlong0<-999.) 
then 
 1811         call solarlong(day_since_equinox, zlongi, dist)
 
 1814         CALL orbite(
REAL(days_elapsed+1),zlongi,dist)
 
 1821        write(
lunout,*)
'Longitude solaire ',zlongi,solarlong0,dist
 
 1831   IF (abs(solarlong0-1000.)<1.e-4) 
then 
 1836      SELECT CASE (iflag_cycle_diurne)
 
 1847         zdtime=
dtime*
REAL(radpas)  
 1853         WHERE (fract.GT.0.0) 
jrnt = 1.0
 
 1861         zdtime1=
dtime*
REAL(-MOD(itaprad,radpas)-1)       
 1862         zdtime2=
dtime*
REAL(radpas-MOD(itaprad,radpas)-1)  
 1869         CALL zenang(zlongi,jh_cur,zdtime1,zdtime2,
rlat,
rlon,zrmu0,zfract)
 
 1871         WHERE (rmu0.GE.1.e-10 .OR. fract.GE.1.e-10) 
swradcorr=zfract/fract*zrmu0/rmu0
 
 1874         WHERE (zfract.GT.0.0) 
jrnt = 1.0 
 
 1912       IF (
prt_level .ge. 2 .and. mod(iflag_pbl_split,2) .eq. 1) 
THEN 
 1913         print *,
'debut du splitting de la PBL' 
 1984           s_capcl,   s_oliqcl,  s_cteicl,
s_pblt, &
 
 1985           s_therm,   s_trmb1,   s_trmb2, s_trmb3, &
 
 1992           zxfluxt,   zxfluxq,   q2m,     fluxq, 
pbl_tke, &
 
 2007     IF (mod(iflag_pbl_split,2) .NE. 0) 
THEN 
 2067      IF (ip_ebil_phy.ge.2) 
THEN  
 2068         ztit=
'after surface_main' 
 2071              , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 2073              , zero_v, zero_v, zero_v, zero_v, 
sens &
 
 2074              , 
evap  , zero_v, zero_v, ztsol &
 
 2075              , d_h_vcol, d_qt, d_ec &
 
 2076              , fs_bound, fq_bound )
 
 2087            zdelta = max(0.,sign(1.,rtt-zx_t))
 
 2088            zx_qs  = r2es * foeew(zx_t,zdelta)/pplay(i,k)
 
 2089            zx_qs  = min(0.5,zx_qs)
 
 2090            zcor   = 1./(1.-retv*zx_qs)
 
 2093            IF (zx_t.LT.t_coup) 
THEN 
 2094               zx_qs = qsats(zx_t)/pplay(i,k)
 
 2096               zx_qs = qsatl(zx_t)/pplay(i,k)
 
 2104      write(
lunout,*) 
'L   qsat (g/kg) avant clouds_gno' 
 2105      write(
lunout,
'(i4,f15.4)') (k,1000.*zqsat(igout,k),k=1,
klev)
 
 2120      WRITE(
lunout,*) 
"avantcon=", za
 
 2131                 *(paprs(i,k)-paprs(i,k+1))/
rg 
 2146      abort_message =
'reactiver le call conlmd dans physiq.F' 
 2155           pmfu, 
pmfd, pen_u, pde_u, pen_d, pde_d, &
 
 2178            if (iflag_wake>=1) 
then 
 2179               t_wake(i,k) = 
t_seri(i,k) &
 
 2181               q_wake(i,k) = 
q_seri(i,k) &
 
 2183               t_undi(i,k) = 
t_seri(i,k) &
 
 2185               q_undi(i,k) = 
q_seri(i,k) &
 
 2188               t_wake(i,k) = 
t_seri(i,k)
 
 2189               q_wake(i,k) = 
q_seri(i,k)
 
 2190               t_undi(i,k) = 
t_seri(i,k)
 
 2191               q_undi(i,k) = 
q_seri(i,k)
 
 2200      IF (iflag_wake>=1) 
then 
 2203         CALL ajsec(paprs, pplay, t_wake, q_wake, limbas, &
 
 2204                   d_t_adjwk, d_q_adjwk)
 
 2209           IF (
wake_s(i) .GT. 1.e-3) 
THEN 
 2210             t_wake(i,k) = t_wake(i,k) + d_t_adjwk(i,k)
 
 2211             q_wake(i,k) = q_wake(i,k) + d_q_adjwk(i,k)
 
 2231      if (iflag_wake>=1) 
then 
 2232         if (itap .le. it_wape_prescr) 
then 
 2255              WRITE(
lunout,*)
'ALE et ALP imposes' 
 2284               www(i)=max(www(i),-
omega(i,k)*rd*
t_seri(i,k)/(
rg*paprs(i,k)) &
 
 2294            if (www(i)>0. .and. 
ale_bl(i)>0. ) www(i)=www(i)/
ale_bl(i)
 
 2306            if (alp_offset>=0.) 
then 
 2309        abort_message =
'Ne pas passer la car www non calcule' 
 2332         if (
alp(i)>alp_max) 
then 
 2334                 'WARNING SUPER ALP (seuil=',alp_max, &
 
 2338         if (
ale(i)>ale_max) 
then 
 2340                 'WARNING SUPER ALE (seuil=',ale_max, &
 
 2363      IF (pphi(izero,k) > 22.e4) k_upper_cv = k
 
 2366      print *, 
'upmost level of deep convection loops: k_upper_cv = ',k_upper_cv
 
 2378              dtime, paprs, pplay, k_upper_cv, t_undi,q_undi, &
 
 2391              pmflxr,
pmflxs,da,phi,mp,phi2,d1a,dam,sij,clw,elij, &
 
 2393              ev, ep,epmlmmm,eplamm, &
 
 2412       IF (iflag_wake>=1) 
THEN 
 2436              ,
bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr &
 
 2447      IF (.NOT. ok_gust) 
THEN 
 2485               write(
lunout,*)
'La convection monte trop haut ' 
 2491      write(
lunout,*) 
'On n appelle pas la convection' 
 2511        'convection',abortphy)
 
 2523   IF (ip_ebil_phy.ge.2) 
THEN  
 2524      ztit=
'after convect' 
 2527           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 2529           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 2531           , d_h_vcol, d_qt, d_ec &
 
 2532           , fs_bound, fq_bound )
 
 2537      WRITE(
lunout,*)
"aprescon=", za
 
 2545      zx_t = zx_t/za*
dtime 
 2546      WRITE(
lunout,*)
"Precip=", zx_t
 
 2555                 *(paprs(i,k)-paprs(i,k+1))/
rg 
 2564            IF (z_factor(i).GT.(1.0+1.0e-08) .OR. &
 
 2565                 z_factor(i).LT.(1.0-1.0e-08)) 
THEN 
 2582   if (iflag_wake>=1) 
then 
 2585            dt_dwn(i,k)  = 
ftd(i,k) 
 
 2586            dq_dwn(i,k)  = 
fqd(i,k) 
 
 2587            m_dwn(i,k)   = 
dnwd0(i,k)
 
 2588            m_up(i,k)    = 
upwd(i,k)
 
 2603      IF (mod(iflag_pbl_split,2) .EQ. 1) 
THEN 
 2617       IF (mod(iflag_pbl_split/2,2) .EQ. 1) 
THEN 
 2631      IF (iflag_wake==2) 
THEN 
 2632         ok_wk_lsp(:)=max(sign(1.,
wake_s(:)-wake_s_min_lsp),0.)
 
 2634            dt_dwn(:,k)= dt_dwn(:,k)+ &
 
 2636            dq_dwn(:,k)= dq_dwn(:,k)+ &
 
 2639      ELSEIF (iflag_wake==3) 
THEN 
 2640         ok_wk_lsp(:)=max(sign(1.,
wake_s(:)-wake_s_min_lsp),0.)
 
 2643               IF (
rneb(i,k)==0.) 
THEN 
 2646                 dt_dwn(i,k)= dt_dwn(i,k)+ &
 
 2648                 dq_dwn(i,k)= dq_dwn(i,k)+ &
 
 2659           ,dt_dwn,dq_dwn,m_dwn,m_up &
 
 2667           ,wake_k, t_undi,q_undi &
 
 2668           ,wake_omgbdth,wake_dp_omgb &
 
 2669           ,wake_dtke,wake_dqke &
 
 2670           ,wake_dtpbl,wake_dqpbl &
 
 2673           ,wake_ddeltat,wake_ddeltaq)
 
 2688   IF (ip_ebil_phy.ge.2) 
THEN  
 2692           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 2694           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 2695           , zero_v, zero_v, zero_v, ztsol &
 
 2696           , d_h_vcol, d_qt, d_ec &
 
 2697           , fs_bound, fq_bound )
 
 2724        'AVANT LA CONVECTION SECHE , iflag_thermals=' &
 
 2753          IF (mod(iflag_pbl_split/2,2) .EQ. 1) 
THEN 
 2778              ,ratqsdiff,zqsatth &
 
 2781              ,ztv,zpspsk,ztla,zthl &
 
 2784              ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &
 
 2786              ,therm_tke_max,env_tke_max &
 
 2793          IF (mod(iflag_pbl_split/2,2) .EQ. 1) 
THEN 
 2826               print *,
'cin, ale_bl_stat, alp_bl_stat ', &
 
 2839                  tau_trig(i)=tau_trig_deep
 
 2844               print *,
'random_notrig, tau_trig ', &
 
 2846               print *,
's_trig,s2,n2 ', &
 
 2874                  if ( (
ale_bl(i) .gt. abs(
cin(i))+1.e-10) )  
then 
 2894               print *,
'proba_notrig, ale_bl_trig ', &
 
 2901         if (iflag_clos_bl.eq.1) 
then  
 2910         else if (iflag_clos_bl.eq.2) 
then 
 2941            print*,
'Couplage Thermiques/Emanuel seulement si T<0' 
 2944               if (
t_seri(i,lmax_th(i))>273.) 
then 
 2972            limbas(:)=lmax_th(:)
 
 3005   IF (ip_ebil_phy.ge.2) 
THEN  
 3006      ztit=
'after dry_adjust' 
 3009           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 3011           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 3012           , zero_v, zero_v, zero_v, ztsol &
 
 3013           , d_h_vcol, d_qt, d_ec &
 
 3014           , fs_bound, fq_bound )
 
 3023        ratqsbas,ratqshaut,tau_ratqs,fact_cldcon,   &
 
 3034      print *,
'itap, ->fisrtilp ',itap
 
 3042        frac_impa, frac_nucl, beta_prec_fisrt, &
 
 3044        zqasc, 
fraca,ztv,zpspsk,ztla,zthl,iflag_cld_th, &
 
 3061      WRITE(
lunout,*)
"apresilp=", za
 
 3069      zx_t = zx_t/za*
dtime 
 3070      WRITE(
lunout,*)
"Precip=", zx_t
 
 3073   IF (ip_ebil_phy.ge.2) 
THEN  
 3077           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 3079           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 3081           , d_h_vcol, d_qt, d_ec &
 
 3082           , fs_bound, fq_bound )
 
 3101   IF (iflag_cld_th.le.-1) 
THEN  
 3105      if (iflag_cld_th.eq.-1) 
then 
 3115                       *(paprs(i,k)-paprs(i,k+1))/
rg 
 3131            IF (diafra(i,k).GT.
cldfra(i,k)) 
THEN 
 3132               cldliq(i,k) = dialiq(i,k)
 
 3133               cldfra(i,k) = diafra(i,k)
 
 3138   ELSE IF (iflag_cld_th.ge.3) 
THEN 
 3157      IF (flag_aerosol .gt. 0) 
THEN 
 3158          IF (iflag_rrtm .EQ. 0) 
THEN  
 3159            IF (.NOT. aerosol_couple) 
THEN 
 3164                    mass_solu_aero, mass_solu_aero_pi,  &
 
 3169            IF (aerosol_couple .AND. 
config_inca == 
'aero' ) 
THEN 
 3170             abort_message=
'config_inca=aero et rrtm=1 impossible' 
 3181              tr_seri, mass_solu_aero, mass_solu_aero_pi,  &
 
 3185            ELSE IF (nsw.EQ.2) 
THEN  
 3191                    mass_solu_aero, mass_solu_aero_pi,  &
 
 3204               abort_message=
'Only NSW=2 or 6 are possible with aerosols and iflag_rrtm=1' 
 3211            abort_message=
'You should compile with -rrtm if running with iflag_rrtm=1' 
 3219         IF (iflag_rrtm .EQ. 0) 
THEN  
 3233      IF (flag_aerosol_strat) 
THEN 
 3235          print *,
'appel a readaerosolstrat', 
mth_cur 
 3237         IF (iflag_rrtm.EQ.0) 
THEN 
 3244            abort_message=
'You should compile with -rrtm if running with iflag_rrtm=1' 
 3254      if (iflag_cld_th>=5) 
then 
 3267                  if (ptconv(i,k).and.ptconvth(i,k)) 
then 
 3270                  else if (ptconv(i,k)) 
then 
 3296                  if (ptconv(i,k).and. .not. ptconvth(i,k)) 
then 
 3324   IF (ok_stratus) 
THEN 
 3328            IF (diafra(i,k).GT.
cldfra(i,k)) 
THEN 
 3329               cldliq(i,k) = dialiq(i,k)
 
 3330               cldfra(i,k) = diafra(i,k)
 
 3343   IF (ip_ebil_phy.ge.2) 
THEN  
 3344      ztit=
"after diagcld" 
 3347           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 3349           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 3350           , zero_v, zero_v, zero_v, ztsol &
 
 3351           , d_h_vcol, d_qt, d_ec &
 
 3352           , fs_bound, fq_bound )
 
 3361            if (iflag_ice_thermo.eq.0) 
then  
 3362            zdelta = max(0.,sign(1.,rtt-zx_t))
 
 3366            zx_qs  = r2es * foeew(zx_t,zdelta)/pplay(i,k)
 
 3367            zx_qs  = min(0.5,zx_qs)
 
 3368            zcor   = 1./(1.-retv*zx_qs)
 
 3371            IF (zx_t.LT.t_coup) 
THEN 
 3372               zx_qs = qsats(zx_t)/pplay(i,k)
 
 3374               zx_qs = qsatl(zx_t)/pplay(i,k)
 
 3386      tpot(i)=
zt2m(i)*(100000./paprs(i,1))**rkappa
 
 3388         IF(
zt2m(i).LT.rtt) 
then 
 3394         IF (
zt2m(i).LT.rtt) 
THEN 
 3408      calday = 
REAL(days_elapsed + 1) + jH_cur
 
 3412         CALL aerosol_meteo_calc( &
 
 3417      zxsnow_dummy(:) = 0.0
 
 3419      CALL chemhook_begin (calday, &
 
 3464   IF (aerosol_couple) 
THEN  
 3465      mass_solu_aero(:,:)    = 
ccm(:,:,1) 
 
 3466      mass_solu_aero_pi(:,:) = 
ccm(:,:,2) 
 
 3469   if (ok_newmicro) 
then 
 3470      IF (iflag_rrtm.NE.0) 
THEN  
 3472         IF (ok_cdnc.AND.
nradlp.NE.3) 
THEN 
 3473            abort_message=
'RRTM choix incoherent NRADLP doit etre egal a 3 pour ok_cdnc'  
 3478         abort_message=
'You should compile with -rrtm if running with iflag_rrtm=1' 
 3482      CALL newmicro (ok_cdnc, bl95_b0, bl95_b1, &
 
 3486           mass_solu_aero, mass_solu_aero_pi, &
 
 3490      CALL nuage (paprs, pplay, &
 
 3494           mass_solu_aero, mass_solu_aero_pi, &
 
 3502   cldtaupirad = cldtaupi
 
 3507   if(lon1_beta.EQ.-180..AND.lon2_beta.EQ.180..AND. &
 
 3508        lat1_beta.EQ.90..AND.lat2_beta.EQ.-90.) 
THEN 
 3514            if (pplay(i,k).GE.pfree) 
THEN 
 3515               beta(i,k) = beta_pbl
 
 3517               beta(i,k) = beta_free
 
 3519            if (mskocean_beta) 
THEN 
 3522            cldtaurad(i,k)   = 
cldtau(i,k) * beta(i,k)
 
 3523            cldtaupirad(i,k) = cldtaupi(i,k) * beta(i,k)
 
 3524            cldemirad(i,k)   = 
cldemi(i,k) * beta(i,k)
 
 3525            cldfrarad(i,k)   = 
cldfra(i,k) * beta(i,k)
 
 3536            if (
rlon(i).ge.lon1_beta.AND.
rlon(i).le.lon2_beta.AND. &
 
 3537                 rlat(i).le.lat1_beta.AND.
rlat(i).ge.lat2_beta) 
THEN 
 3538               if (pplay(i,k).GE.pfree) 
THEN 
 3539                  beta(i,k) = beta_pbl
 
 3541                  beta(i,k) = beta_free
 
 3543               if (mskocean_beta) 
THEN 
 3546               cldtaurad(i,k)   = 
cldtau(i,k) * beta(i,k)
 
 3547               cldtaupirad(i,k) = cldtaupi(i,k) * beta(i,k)
 
 3548               cldemirad(i,k)   = 
cldemi(i,k) * beta(i,k)
 
 3549               cldfrarad(i,k)   = 
cldfra(i,k) * beta(i,k)
 
 3559   IF (mod(itaprad,
radpas).EQ.0) 
THEN 
 3562   if(ok_chlorophyll)
then 
 3563   print*,
"-- reading chlorophyll" 
 3583       IF (iflag_radia .ge. 2) 
THEN 
 3588      IF (aerosol_couple) 
THEN  
 3594              cldfrarad, cldemirad, cldtaurad, &
 
 3622            print *,
' ->radlwsw, number 1 ' 
 3626              (dist, rmu0, fract,  &
 
 3632              cldfrarad, cldemirad, cldtaurad, &
 
 3633              ok_ade.OR.flag_aerosol_strat, ok_aie, flag_aerosol, &
 
 3634              flag_aerosol_strat, &
 
 3638              cldtaupirad,new_aod, &
 
 3666         if (ok_4xco2atm) 
then 
 3667            if (rco2_per.NE.rco2_act.OR.rch4_per.NE.rch4_act.OR. &
 
 3668                 rn2o_per.NE.rn2o_act.OR.rcfc11_per.NE.rcfc11_act.OR. &
 
 3669                 rcfc12_per.NE.rcfc12_act) 
THEN 
 3678                  print *,
' ->radlwsw, number 2 ' 
 3682                    (dist, rmu0, fract,  &
 
 3689                    ok_ade.OR.flag_aerosol_strat, ok_aie, flag_aerosol, &
 
 3690                    flag_aerosol_strat, &
 
 3724       IF (iflag_radia .ge. 2) 
THEN 
 3728   itaprad = itaprad + 1
 
 3730   IF (iflag_radia.eq.0) 
THEN 
 3732         print *,
'--------------------------------------------------' 
 3733         print *,
'>>>> ATTENTION rayonnement desactive pour ce cas' 
 3734         print *,
'>>>>           heat et cool mis a zero ' 
 3735         print *,
'--------------------------------------------------' 
 3756   if (ok_4xco2atm) 
then 
 3784   IF (ip_ebil_phy.ge.2) 
THEN  
 3788           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 3791           , zero_v, zero_v, zero_v, ztsol &
 
 3792           , d_h_vcol, d_qt, d_ec &
 
 3793           , fs_bound, fq_bound )
 
 3817      print *,
' call orography ? ', 
ok_orodr 
 3827         IF (((
zpic(i)-
zmea(i)).GT.100.).AND.(
zstd(i).GT.10.0)) 
THEN 
 3841              zulow, zvlow, zustrdr, zvstrdr, &
 
 3849              zulow, zvlow, zustrdr, zvstrdr, &
 
 3874         IF ((
zpic(i)-
zmea(i)).GT.100.) 
THEN 
 3888              zulow, zvlow, zustrli, zvstrli, &
 
 3896              zulow, zvlow, zustrli, zvstrli, &
 
 3918              * (paprs(:, k)-paprs(:, k+1))/
rg 
 3920              * (paprs(:, k)-paprs(:, k+1))/
rg 
 3925           paprs, 
'hin', abortphy)
 
 3928   IF (.not. ok_hines .and. ok_gwd_rando) 
then 
 3936              * (paprs(:, k)-paprs(:, k+1))/
rg 
 3938              * (paprs(:, k)-paprs(:, k+1))/
rg 
 3942           paprs, 
'front_gwd_rando', abortphy)
 
 3945   if (ok_gwd_rando) 
then 
 3950           paprs, 
'flott_gwd_rando', abortphy)
 
 3955              * (paprs(:, k)-paprs(:, k+1))/
rg 
 3957              * (paprs(:, k)-paprs(:, k+1))/
rg 
 3976         zustrph(i)=zustrph(i)+(
u_seri(i,k)-u(i,k))/
dtime* &
 
 3977              (paprs(i,k)-paprs(i,k+1))/
rg 
 3978         zvstrph(i)=zvstrph(i)+(
v_seri(i,k)-v(i,k))/
dtime* &
 
 3979              (paprs(i,k)-paprs(i,k+1))/
rg 
 3989           zustrdr,zustrli,zustrph, &
 
 3990           zvstrdr,zvstrli,zvstrph, &
 
 3996   IF (ip_ebil_phy.ge.2) 
THEN  
 3997      ztit=
'after orography' 
 4000           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 4002           , zero_v, zero_v, zero_v, zero_v, zero_v &
 
 4003           , zero_v, zero_v, zero_v, ztsol &
 
 4004           , d_h_vcol, d_qt, d_ec &
 
 4005           , fs_bound, fq_bound )
 
 4025      IF (itap.eq.1.or.mod(itap,nint(freq_cosp/
dtime)).EQ.0) 
THEN 
 4028         print*,
'freq_cosp',freq_cosp
 
 4030         mr_ozone=
wo(:, :, 1) * dobson_u * 1e3 / zmasse
 
 4034              ok_mensuelcosp,ok_journecosp,ok_hfcosp, &
 
 4035              ecrit_mth,ecrit_day,ecrit_hf, ok_all_xml, &
 
 4068      sh_in(:,:) = qx(:,:,ivap)
 
 4073        lafin,    
dtime,     u, v,     t, &
 
 4075        pen_u,    pde_u,     pen_d,    pde_d, &
 
 4081        frac_impa,frac_nucl, beta_prec_fisrt,
beta_prec, &
 
 4082        presnivs, pphis,     pphi,     
albsol1, &
 
 4086        da,       phi,       mp,       
upwd, &
 
 4087        phi2,     d1a,       dam,      sij, wght_cvfd, &        
 
 4089        ev,       ep,        epmlmmm,  eplamm, &     
 
 4090        dnwd,     aerosol_couple,      flxmass_w, &
 
 4099           print*,
'Attention on met a 0 les thermiques pour phystoke' 
 4102           t,
pmfu, 
pmfd, pen_u, pde_u, pen_d, pde_d, &
 
 4105           frac_impa, frac_nucl, &
 
 4124           ve_lay, vq_lay, ue_lay, uq_lay)
 
 4137   forall (k=1: 
nbp_lev) exner(:, k) = (pplay(:, k)/paprs(:,1))**rkappa
 
 4144   IF (ip_ebil_phy.ge.1) 
THEN  
 4148           , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
 4157           , d_h_vcol, d_qt, d_ec &
 
 4158           , fs_bound, fq_bound )
 
 4160      d_h_vcol_phy=d_h_vcol
 
 4170   include 
"calcul_divers.h" 
 4177           CALL xios_get_field_attr(
"t850",default_value=missing_val_omp)
 
 4181           missing_val=missing_val_omp
 
 4187   include 
"calcul_STDlev.h" 
 4197              q_seri(i,k)*(paprs(i,k)-paprs(i,k+1))/
rg 
 4206      CALL chemhook_end ( &
 
 4229      print *,
'Convertir les incrementations en tendances ' 
 4244         d_qx(i,k,ivap) = ( 
q_seri(i,k) - qx(i,k,ivap) ) / 
dtime 
 4245         d_qx(i,k,iliq) = ( 
ql_seri(i,k) - qx(i,k,iliq) ) / 
dtime 
 4248         d_qx(i,k,isol) = ( 
qs_seri(i,k) - qx(i,k,isol) ) / 
dtime 
 4306      write(
lunout,*) 
'FIN DE PHYSIQ !!!!!!!!!!!!!!!!!!!!' 
 4308           'nlon,klev,nqtot,debut,lafin,jD_cur, jH_cur, pdtphys pct tlos' 
 4313      write(
lunout,*) 
'd_t_dyn,d_t_con,d_t_lsc,d_t_ajsb,d_t_ajs,d_t_eva' 
 4319      write(
lunout,*) 
'cool,heat' 
 4330      write(
lunout,*) 
'd_t_vdf,d_t_oro,d_t_lif,d_t_ec' 
 4337      write(
lunout,*) 
'd_ps ',d_ps(igout)
 
 4338      write(
lunout,*) 
'd_u, d_v, d_t, d_qx1, d_qx2 ' 
 4340         write(
lunout,*) d_u(igout,k),d_v(igout,k),d_t(igout,k), &
 
 4341              d_qx(igout,k,1),d_qx(igout,k,2)
 
 4355         theta(i,k)=
t_seri(i,k)*(100000./pplay(i,k))**(rd/rcpd)
 
 4361         thetal(i,k)=
theta(i,k)
 
 4394            if (ptconvth(i,k)) 
then 
 4414        pplay, lmax_th, aerosol_couple,                 &
 
 4415        ok_ade, ok_aie, ivap, new_aod, ok_sync,         &
 
 4416        ptconv, read_climoz, clevstd,                   &
 
 4417        ptconvth, d_t, qx, d_qx, zmasse,                &
 
 4418        flag_aerosol, flag_aerosol_strat, ok_cdnc)
 
 4422   include 
"write_histday_seri.h" 
 4424   include 
"write_paramLMDZ_phy.h" 
 4434     IF (abortphy==1) 
THEN 
 4435        abort_message =
'Plantage hgardfou' 
 4454      if (read_climoz >= 1) 
then 
 4456            call nf95_close(ncid_climoz)
 
 4458         deallocate(press_climoz) 
 
 4467 FUNCTION qcheck(klon,klev,paprs,q,ql,aire)
 
 4475   REAL paprs(klon,klev+1), q(klon,klev), ql(klon,klev)
 
 4477   REAL qtotal, zx, qcheck
 
 4487         qtotal = qtotal + (q(i,k)+ql(i,k)) * aire(i) &
 
 4488              *(paprs(i,k)-paprs(i,k+1))/
rg 
 4496 SUBROUTINE gr_fi_ecrit(nfield,nlon,iim,jjmp1,fi,ecrit)
 
 4502   INTEGER nfield,nlon,iim,jjmp1, jjm
 
 4503   REAL fi(nlon,nfield), ecrit(iim*jjmp1,nfield)
 
 4510         ecrit(i,n) = fi(1,n)
 
 4511         ecrit(i+jjm*iim,n) = fi(nlon,n)
 
 4514         ecrit(iim+ig,n) = fi(1+ig,n)
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le & swdn0
 
subroutine zenang_an(cycle_diurne, gmtime, rlat, rlon, rmu0, fract)
 
real, dimension(:,:), allocatable, save d_q_ch4
 
real, dimension(:,:), allocatable, save fsollw
 
!$Header!c include clesph0 h c COMMON clesph0 ok_orolf
 
real, dimension(:,:), allocatable, save d_t_con
 
real, dimension(:,:), allocatable, save q_ancien
 
real, dimension(:), allocatable, save rh2m
 
real, dimension(:), allocatable, save ale_bl_stat
 
real, dimension(:), allocatable, save sollwp
 
real, dimension(:), allocatable, save ema_pcb
 
real, dimension(:), allocatable, save zustar
 
real, dimension(:), allocatable, save zuthe
 
real, dimension(:,:), allocatable, save topsw_aero
 
real, dimension(:,:), allocatable, save w01
 
real, dimension(:), allocatable, save proba_notrig
 
real, dimension(:), allocatable, save zxfluxlat_w
 
real, dimension(:), allocatable, save alp_bl_conv
 
subroutine hines_gwd(nlon, nlev, dtime, paphm1x, papm1x, rlat, tx, ux, vx, zustrhi, zvstrhi, d_t_hin, d_u_hin, d_v_hin)
 
real, dimension(:,:), allocatable, save clwcon
 
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL f_ri_cd_min!IM MAFo pmagic evap0!Frottement au f_cdrag_oce REAL f_gust_wk
 
real, dimension(:), allocatable, save topsw
 
real, dimension(:), allocatable, save cdragm_w
 
real, dimension(:,:), allocatable, save fiwc
 
subroutine fonte_neige_get_vars(pctsrf, fqcalving_out, fqfonte_out, ffonte_out)
 
real, dimension(:,:), allocatable, save du_gwd_front
 
real, dimension(:), allocatable, save zxsnow
 
integer, parameter is_ter
 
real, dimension(:), allocatable, save snow_lsc
 
real, dimension(:,:), allocatable, save albsol_dif
 
real, dimension(:), allocatable, save sollwad0_aerop
 
character(len=4), save config_inca
 
real, dimension(:,:), allocatable, save d_u_oro
 
real, dimension(:,:), allocatable, save d_q_lscth
 
real, dimension(:), allocatable, save kh
 
real, dimension(:,:,:), allocatable, save tr_seri
 
real, dimension(:), allocatable, save f0
 
real, dimension(:), allocatable, save topswai_aerop
 
real, dimension(:,:), allocatable, save heat0
 
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL ymds2ju(annee_ref, 1, day_ref, hour, zjulian)!jyg CALL histbeg_phy("histrac"
 
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 iflag_thermals_closure common ctherm2 fact_thermals_ed_dz common ctherm4 iflag_coupl
 
real, dimension(:), allocatable, save io_lat
 
subroutine drag_noro(nlon, nlev, dtime, paprs, pplay, pmea, pstd, psig, pgam, pthe, ppic, pval, kgwd, kdx, ktest, t, u, v, pulow, pvlow, pustr, pvstr, d_t, d_u, d_v)
 
real, dimension(:,:), allocatable, save qcondc
 
subroutine ajsec(paprs, pplay, t, q, limbas, d_t, d_q)
 
real, dimension(:), allocatable, save bils
 
real, dimension(:), allocatable, save sens
 
real, dimension(:), allocatable, save zxfqcalving
 
real, dimension(:), allocatable, save s_pblh_w
 
real, dimension(:), allocatable, save zval
 
real, dimension(:), allocatable, save zsig
 
real, dimension(:,:), allocatable, save wfbils
 
!$Header!c include clesph0 h c COMMON clesph0 ok_orodr
 
real, dimension(:,:), allocatable, save d_q_lsc
 
!$Id t_glace_min REAL exposant_glace REAL rei_max REAL coefw_cld_cv REAL tmax_fonte_cv INTEGER iflag_cld_cv common nuagecom iflag_cld_cv
 
real, dimension(:), allocatable, save ale_wake
 
real, dimension(:), allocatable, save snow_fall
 
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_con
 
subroutine fisrtilp(dtime, paprs, pplay, t, q, ptconv, ratqs, d_t, d_q, d_ql, d_qi, rneb, radliq, rain, snow, pfrac_impa, pfrac_nucl, pfrac_1nucl, frac_impa, frac_nucl, beta, prfl, psfl, rhcl, zqta, fraca, ztv, zpspsk, ztla, zthl, iflag_cld_th, iflag_ice_thermo)
 
real, dimension(:,:,:,:), allocatable, save piz_aero_sw_rrtm
 
real, dimension(:), allocatable, save alp_bl_det
 
real, dimension(:), allocatable, save cldl
 
real, dimension(:,:), allocatable, save fl
 
subroutine diag_slp(nlon, t, pab, pal, pphis, tasfc, tastd, pmer)
 
subroutine evappot(klon, nbsrf, ftsol, pplay, cdragh, t_seri, q_seri, u_seri, v_seri, evap_pot)
 
real, dimension(:), allocatable, save sens_w
 
real, dimension(:,:,:), allocatable, save falb_dir
 
real, dimension(:,:), allocatable, save wake_deltaq
 
real, dimension(:,:), allocatable, save d_qi_lsc
 
real, dimension(:,:), allocatable, save heat
 
real, dimension(:,:), allocatable, save rnebcon0
 
real, dimension(:), allocatable, save alp_wake
 
integer, dimension(:), allocatable, save ibas_con
 
real, dimension(:,:), allocatable, save west_gwstress
 
subroutine conlmd(dtime, paprs, pplay, t, q, conv_q, d_t, d_q, rain, snow, ibas, itop)
 
real, dimension(:), allocatable, save albsol3_lic
 
real, dimension(:,:), allocatable, save d_t_ajsb
 
subroutine conf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, ok_LES, callstats, solarlong0, seuil_inversion, fact_cldcon, facttemps, ok_newmicro, iflag_radia, iflag_cld_th, iflag_ratqs, ratqsbas, ratqshaut, tau_ratqs, ok_ade, ok_aie, ok_cdnc, aerosol_couple, flag_aerosol, flag_aerosol_strat, new_aod, bl95_b0, bl95_b1, read_climoz, alp_offset)
 
real, dimension(:,:), allocatable, save lwup0p
 
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 iflag_thermals_closure common ctherm2 fact_thermals_ed_dz common ctherm4 iflag_wake common ctherm5 iflag_thermals_optflux!nrlmd le common ctherm6 iflag_trig_bl
 
real, dimension(:,:), allocatable, save falb1
 
subroutine methox(KIDIA, KFDIA, KLON, KLEV, PQ, PTENQ, PAP)
 
real, dimension(:), allocatable, save rain_fall
 
real, dimension(:), allocatable, save tpot
 
real, dimension(:,:), allocatable, save dv_gwd_rando
 
real, dimension(:,:), allocatable, save sig1
 
real, dimension(:,:), allocatable, save topswcf_aero
 
real, dimension(:,:), allocatable, save dnwd
 
integer, dimension(:), allocatable, save itau_con
 
real, dimension(:,:), allocatable, save solsw0_aerop
 
real, dimension(:), allocatable, save weak_inversion
 
real, dimension(:,:), allocatable, save swdn0p
 
real, dimension(:,:), allocatable, save t_ancien
 
real, dimension(:,:), allocatable, save d_t_ajs
 
real, dimension(:), allocatable, save sollwad_aero
 
real, dimension(:), allocatable, save kh_x
 
real, dimension(:), allocatable, save jrnt
 
subroutine regr_pr_av(ncid, name, julien, press_in_edg, paprs, v3)
 
real, dimension(:), allocatable, save solswad0_aerop
 
real, dimension(:,:), allocatable, save ftd
 
subroutine readaerosolstrato_rrtm(debut)
 
real, dimension(:), allocatable, save s2
 
real, dimension(:), allocatable, save cdragm
 
real, dimension(:,:), allocatable, save vprecip
 
real, dimension(:), allocatable, save latitude_deg
 
real, dimension(:,:), allocatable, save d_t_ec
 
integer, save day_step_phy
 
!$Header!integer nvarmx dtime
 
real, dimension(:), allocatable, save bbase
 
integer, parameter is_ave
 
real, dimension(:), allocatable, save slp
 
real, dimension(:,:), allocatable, save dv_gwd_hines
 
real, dimension(:,:), allocatable, save d_t_sw0
 
real, dimension(:,:), allocatable, save dq_wake
 
!$Id t_glace_min REAL exposant_glace REAL rei_max REAL coefw_cld_cv REAL tmax_fonte_cv INTEGER iflag_cld_cv common nuagecom && t_glace_min
 
subroutine clouds_gno(klon, nd, r, rs, qsub, ptconv, ratqsc, cldf)
 
real, dimension(:), allocatable, save s_pblh_x
 
real, dimension(:), allocatable, save solsw0
 
real, dimension(:), allocatable, save qsnow
 
real, dimension(:), allocatable, save n2
 
real, dimension(:,:), allocatable, save dt_wake
 
real, dimension(:), allocatable, save cdragh
 
real, dimension(:,:), allocatable, save d_t_lif
 
!$Header!c include clesph0 h c COMMON clesph0 new_oliq
 
real, dimension(:), allocatable, save zt2m
 
real, dimension(:,:), allocatable, save zphi
 
subroutine sugwd(nlon, nlev, paprs, pplay)
 
real, parameter missing_val_nf90
 
subroutine read_cfmip_point_locations(npCFMIP, tab, lonCFMIP, latCFMIP)
 
real, dimension(:), allocatable, save zmea
 
real, dimension(:,:,:,:), allocatable, save tau_aero
 
subroutine phys_output_open(rlon, rlat, pim, tabij, ipt, jpt, plon, plat, jjmp1, nlevSTD, clevSTD, rlevSTD, dtime, ok_veget, type_ocean, iflag_pbl, iflag_pbl_split, ok_mensuel, ok_journe, ok_hf, ok_instan, ok_LES, ok_ade, ok_aie, read_climoz, phys_out_filestations, new_aod, aerosol_couple, flag_aerosol_strat, pdtphys, paprs, pphis, pplay, lmax_th, ptconv, ptconvth, ivap, d_t, qx, d_qx, zmasse, ok_sync)
 
real, dimension(:,:), allocatable, save d_t_dyn
 
real, dimension(:,:), allocatable, save d_t_lw0
 
real, dimension(:,:), allocatable, save rnebcon0th
 
real, dimension(:,:), allocatable, save pfrac_impa
jyg 
 
real, dimension(:,:), allocatable, save zswft0_i
 
integer, parameter vtinca
 
real, dimension(:), allocatable, save topswad_aerop
 
real, dimension(:), allocatable, save solswad0_aero
 
real, dimension(:,:), allocatable, save cool
 
real, dimension(:), allocatable, save pbase
 
real, dimension(:,:), allocatable, save zw2
 
subroutine phyredem(fichnom)
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL SWup200clr CALL LWdn200clr CALL & lwup0
 
real, dimension(:), allocatable, save solswad_aero
 
real, dimension(:,:), allocatable, save pctsrf
 
real, dimension(:,:), allocatable, save swup0p
 
real, dimension(:), allocatable, save wbeff
 
real, dimension(:,:), allocatable, save falb2
 
real, dimension(:), allocatable, save cldm
 
real, dimension(:), allocatable, save radsol
 
real, dimension(:,:), allocatable, save entr_therm
 
real, dimension(:), allocatable, save solsw0p
 
subroutine transp(paprs, tsol, t, q, u, v, geom, vtran_e, vtran_q, utran_e, utran_q)
 
subroutine phys_local_var_init
 
real, dimension(:), allocatable, save sollwdownp
 
real, dimension(:,:,:), allocatable, save ccm
 
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL f_ri_cd_min!IM MAFo pmagic evap0!Frottement au f_cdrag_oce REAL f_z0qh_oce REAL z0h_seaice INTEGER iflag_gusts
 
real, dimension(:,:), allocatable, save ref_ice
 
real, dimension(:), allocatable, save vq
 
real, dimension(:,:,:,:), allocatable, save cg_aero
 
real, dimension(:,:), allocatable, save d_t_diss
 
!$Id iflag_pbl_split common compbl iflag_pbl
 
real, dimension(:), allocatable, save topswad
 
real, dimension(:), allocatable, save qsol
 
real, dimension(:), allocatable zustr_gwd_hines
 
real, dimension(:,:), allocatable, save d_q_wake
 
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL f_ri_cd_min!IM MAFo pmagic evap0!Frottement au f_cdrag_oce REAL f_z0qh_oce REAL z0h_seaice INTEGER iflag_z0_oce!Rugoro Real f_rugoro
 
real, dimension(:), allocatable, save ve
 
real, dimension(:,:), allocatable, save heatp
 
subroutine readchlorophyll(debut)
 
subroutine radlwsw(dist, rmu0, fract,
 
real, dimension(:,:,:,:), allocatable, save tau3d_aero
 
real, dimension(:,:), allocatable, save lwdnp
 
real, dimension(:,:), allocatable, save ref_liq_pi
 
real, dimension(:,:), allocatable, save cldtau
 
real, dimension(:,:), allocatable, save cldfra
 
subroutine angle(longi, lati, frac, muzero)
 
subroutine flott_gwd_rando(DTIME, pp, tt, uu, vv, prec, zustr, zvstr, d_u, d_v, east_gwstress, west_gwstress)
 
integer, dimension(:), allocatable, save itop_con
 
real, dimension(:,:,:), allocatable, save pbl_tke
 
real, dimension(:), allocatable, save sollw
 
real, dimension(:), allocatable, save cape
 
subroutine sugwd_strato(nlon, nlev, paprs, pplay)
 
real, dimension(:,:,:,:), allocatable, save tau_aero_lw_rrtm
 
real, dimension(:,:), allocatable, save d_t_wake
 
real, dimension(:,:), allocatable, save rnebcon
 
real, dimension(:), allocatable, save sollwad_aerop
 
real, dimension(:,:), allocatable, save t_therm
 
real, dimension(:), allocatable, save albsol1
 
subroutine lift_noro_strato(nlon, nlev, dtime, paprs, pplay, plat, pmea, pstd, psig, pgam, pthe, ppic, pval, kgwd, kdx, ktest, t, u, v, pulow, pvlow, pustr, pvstr, d_t, d_u, d_v)
 
!$Header!c include clesph0 h c COMMON clesph0 nbapp_rad
 
integer, dimension(:), allocatable, save lalim_conv
 
real, dimension(:,:), allocatable, save topswcf_aerop
 
real, dimension(:,:), allocatable, save beta_prec
 
real, dimension(:), allocatable, save dthmin
 
subroutine acama_gwd_rando(DTIME, pp, plat, tt, uu, vv, rot, zustr, zvstr, d_u, d_v, east_gwstress, west_gwstress)
 
real, dimension(:), allocatable, save snowhgt
 
real, dimension(:), allocatable, save toplwad_aerop
 
real, dimension(:,:), allocatable, save qs_seri
 
real, dimension(:,:), allocatable, save d_v_con
 
real, dimension(:), allocatable, save rain_con
 
real, dimension(:,:), allocatable, save solsw_aerop
 
real, dimension(:), allocatable, save solswp
 
real, dimension(:), allocatable, save plul_th
 
real, dimension(:,:), allocatable, save solsw0_aero
 
real, dimension(:), allocatable, save sissnow
 
real, dimension(:,:), allocatable, save d_q_ajs
 
real, dimension(:), allocatable, save sollwdown
 
real, dimension(:,:), allocatable, save pmfd
 
real, dimension(:,:), allocatable, save cool0
 
subroutine phys_cosp(itap, dtime, freq_cosp, ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP, ecrit_mth, ecrit_day, ecrit_hf, ok_all_xml, Nptslmdz, Nlevlmdz, lon, lat, presnivs, overlaplmdz, sunlit, ref_liq, ref_ice, fracTerLic, u_wind, v_wind, phis, phi, ph, p, skt, t, sh, rh, tca, cca, mr_lsliq, mr_lsice, fl_lsrainI, fl_lssnowI, fl_ccrainI, fl_ccsnowI, mr_ozone, dtau_s, dem_s)
 
real, dimension(:), allocatable, save cldh
 
real, dimension(:), allocatable, save slab_wfbils
nrlmd+jyg 
 
real, dimension(:), allocatable, save wake_s
 
real, dimension(:,:), allocatable, save pmflxs
 
real, dimension(:,:), allocatable, save zx_rh
 
real, dimension(:,:,:), allocatable, save fluxu
 
real, dimension(:,:), allocatable, save pmflxr
 
real, dimension(:), allocatable, save ale_bl
 
real, dimension(:), allocatable, save wake_cstar
 
real, dimension(:), allocatable, save pt0
 
real, dimension(:,:), allocatable, save d_u_lif
 
real function qcheck(klon, klev, paprs, q, ql, aire)
 
real, dimension(:), allocatable, save toplwad0_aero
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL SWup200clr CALL & lwdn0
 
real, dimension(:), allocatable, save topsw0
 
subroutine lift_noro(nlon, nlev, dtime, paprs, pplay, plat, pmea, pstd, ppic, ktest, t, u, v, pulow, pvlow, pustr, pvstr, d_t, d_u, d_v)
 
real, dimension(:), allocatable, save snow_con
 
subroutine err(ierr, typ, nam)
 
real, dimension(:), allocatable, save rain_lsc
 
real, dimension(:,:), allocatable, save fluxlat
 
real, dimension(:,:), allocatable, save evap_pot
 
real, dimension(:,:), allocatable, save lwdn0p
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
 
real, dimension(:), allocatable zvstr_gwd_front
 
real, dimension(:,:), allocatable, save d_q_dyn
 
real, dimension(:), allocatable, save s_lcl
 
real, dimension(:), allocatable, save zvthe
 
subroutine add_phys_tend(zdu, zdv, zdt, zdq, zdql, zdqi, paprs, text, abortphy)
 
real, dimension(:,:), allocatable, save t2m
 
real, dimension(:,:), allocatable, save solswcf_aerop
 
subroutine orbite(xjour, longi, dist)
 
real, dimension(:,:), allocatable, save q_therm
 
real, dimension(:,:), allocatable, save delta_tsurf
 
real function, dimension(klon, klev) ozonecm(rlat, paprs, read_climoz, rjour)
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le SWdn200clr CALL & swup0
 
real, dimension(:), allocatable, save zxfqfonte
 
real, dimension(:,:), allocatable, save topsw0_aerop
 
real, dimension(:), allocatable, save zxtsol
 
real, dimension(:), allocatable, save albplap
 
real, dimension(:), allocatable zvstr_gwd_hines
 
real, dimension(:,:,:), allocatable, save pbl_tke_input
 
real, dimension(:,:,:), allocatable, save wake_delta_pbl_tke
 
real, dimension(:), allocatable, save alp_bl
 
real, dimension(:), allocatable, save ema_cbmf
 
real, dimension(:,:), allocatable, save heat0p
 
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL nid_tra CALL histvert(nid_tra,"presnivs","Vertical levels","Pa", klev, presnivs, nvert,"down") zsto
 
real, dimension(:), allocatable, save plul_st
 
real, dimension(:), allocatable, save toplw
 
real, dimension(:,:,:), allocatable, save coefh
 
real, dimension(:,:), allocatable, save z0m
 
real, dimension(:), allocatable, save solswai_aero
 
real, dimension(:), allocatable, save qsat2m
 
real, dimension(:), allocatable, save cdragh_w
 
real, dimension(:,:), allocatable, save upwd
 
real, dimension(:), allocatable, save topswad0_aerop
 
real, dimension(:,:,:), allocatable, save tr_ancien
 
subroutine ajsec_convv2(paprs, pplay, t, q, d_t, d_q)
 
subroutine transp_lay(paprs, tsol, t, q, u, v, geom, vtran_e, vtran_q, utran_e, utran_q)
 
real, dimension(:,:), allocatable, save pfrac_1nucl
 
real, dimension(:,:), allocatable, save rneb
 
subroutine solarlong(pday, psollong, pdist_sol)
 
real, dimension(:,:), allocatable, save d_t_lwr
 
real, dimension(:), allocatable, save zv10m
 
real, dimension(:,:), allocatable, save d_u_con
 
real, dimension(:), allocatable, save uq
 
real, dimension(:,:,:,:), allocatable, save piz_aero
 
real, dimension(:), allocatable, save plcl
 
real, dimension(:,:), allocatable, save lwdn
 
real, dimension(:,:), allocatable, save cldemi
 
subroutine physiq(nlon, nlev, debut, lafin, jD_cur, jH_cur, pdtphys, paprs, pplay, pphi, pphis, presnivs, u, v, rot, t, qx, flxmass_w, d_u, d_v, d_t, d_qx, d_ps, dudyn)
 
real, dimension(:), allocatable, save zxffonte
 
real, dimension(:,:,:), allocatable, save fluxv
 
real, dimension(:,:,:,:), allocatable, save tau_aero_sw_rrtm
 
real, dimension(:), allocatable, save evap
 
real, dimension(:), allocatable, save toplwai_aerop
 
real, dimension(:,:), allocatable, save zflup0
 
real, dimension(:), allocatable, save rugoro
 
integer, parameter is_lic
 
real, dimension(:), allocatable, save zpic
 
real, dimension(:,:), allocatable, save re
 
real, dimension(:,:), allocatable, save wfbilo
 
real, dimension(:,:), allocatable, save topsw0_aero
 
subroutine calwake(paprs, pplay, dtime, t, q, omgb, dt_dwn, dq_dwn, m_dwn, m_up, dt_a, dq_a, sigd, wdt_pbl, wdq_pbl, udt_pbl, udq_pbl, wake_deltat, wake_deltaq, wake_dth, wake_h, wake_s, wake_dens, wake_pe, wake_fip, wake_gfl, dt_wake, dq_wake, wake_k, undi_t, undi_q, wake_omgbdth, wake_dp_omgb, wake_dtke, wake_dqke, wake_dtpbl, wake_dqpbl, wake_omg, wake_dp_deltomg, wake_spread, wake_cstar, wake_d_deltat_gw, wake_ddeltat, wake_ddeltaq)
 
real, dimension(:), allocatable, save swradcorr
 
subroutine aaam_bud(iam, nlon, nlev, rjour, rsec, rea, rg, ome, plat, plon, phis, dragu, liftu, phyu, dragv, liftv, phyv, p, u, v, aam, torsfc)
 
real, dimension(:,:), allocatable, save d_v_ajs
 
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 iflag_thermals_closure common ctherm2 fact_thermals_ed_dz common ctherm4 iflag_wake common ctherm5 iflag_thermals_optflux!nrlmd le common ctherm6 iflag_clos_bl common ctherm7 tau_trig_shallow
 
real, dimension(:,:), allocatable, save d_q_lscst
 
real, dimension(:,:), allocatable, save d_t_hin
 
real, dimension(:,:), allocatable, save wdtraina
 
real, dimension(:), allocatable, save rlon
 
real, dimension(:,:), allocatable, save wght_th
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL pplay
 
real, dimension(:,:), allocatable, save fm_therm
 
real, dimension(:), allocatable, save topsw0p
 
real, dimension(:), allocatable, save solsw
 
real, dimension(:), allocatable, save zgam
 
subroutine diagetpq(airephy, tit, iprt, idiag, idiag2, dtime, t, q, ql, qs, u, v, paprs, pplay, d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
 
!FH On elimine toutes les clefs physiques dans la dynamique prt_level
 
real, dimension(:), allocatable, save flwp
 
real, dimension(:), allocatable, save alp_bl_fluct_m
 
subroutine phys_output_write(itap, pdtphys, paprs, pphis, pplay, lmax_th, aerosol_couple, ok_ade, ok_aie, ivap, new_aod, ok_sync, ptconv, read_climoz, clevSTD, ptconvth, d_t, qx, d_qx, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc)
 
real, dimension(:,:,:), allocatable, save wo
 
subroutine phystokenc(nlon, nlev, pdtphys, rlon, rlat, pt, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, pfm_therm, pentr_therm, cdragh, pcoefh, yu1, yv1, ftsol, pctsrf, frac_impa, frac_nucl, pphis, paire, dtime, itap, psh, pda, pphi, pmp, pupwd, pdnwd)
 
real, dimension(:), allocatable, save sollwai_aero
 
real, dimension(:,:), allocatable, save d_q_vdf_w
 
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
 
subroutine printflag(tabcntr0, radpas, ok_journe, ok_instan, ok_region)
 
subroutine phys_cal_update(jD_cur, jH_cur)
 
real, dimension(:), allocatable, save wake_fip
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le paprs
 
real, dimension(:), allocatable, save toplwad_aero
 
integer, parameter nlevstd
 
real, dimension(:), allocatable, save toplw0
 
real, dimension(:), allocatable, save alp_bl_stat
 
real, dimension(:,:), allocatable, save d_v_lif
 
real, dimension(:,:), allocatable, save pfrac_nucl
 
real, dimension(:), allocatable, save gustiness
 
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm u(l)
 
real, dimension(:,:), allocatable, save u10m
 
real, dimension(:), allocatable, save s_therm
 
real, dimension(:), allocatable, save runoff
 
real, dimension(:), allocatable, save topswad0_aero
 
real, dimension(:,:), allocatable, save q_seri
 
real, dimension(:,:), allocatable, save v10m
 
real, dimension(:), allocatable, save io_lon
 
real, dimension(:,:), allocatable, save clwcon0
 
real, dimension(:), allocatable, save zxfluxlat_x
 
real, dimension(:,:), allocatable, save swdn
 
real, dimension(:), allocatable, save zu10m
 
real, dimension(:), allocatable, save ema_pct
 
real, dimension(:,:), allocatable, save lwupp
 
subroutine undefstd(itap, read_climoz)
 
real, dimension(:), allocatable, save toplwai_aero
 
real, dimension(:,:), allocatable, save qtc_cv
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
 
subroutine zenang(longi, gmtime, pdtrad1, pdtrad2, lat, long, pmu0, frac)
 
real, dimension(:), allocatable, save solswai_aerop
 
real, dimension(:), allocatable, save zmax_th
 
subroutine hgardfou(t, tsol, text, abortphy)
 
real, dimension(:,:), allocatable, save d_q_con
 
real, dimension(:,:,:), allocatable, save coefm
 
subroutine perturb_radlwsw(zxtsol, iflag_radia)
 
real, dimension(:,:), allocatable, save d_ql_lsc
 
real, dimension(:,:), allocatable, save sigt_cv
 
real, dimension(:), allocatable, save sollwad0_aero
 
character(len=6), save type_ocean
 
real, dimension(:,:,:), allocatable, save falb_dif
 
real, dimension(:), allocatable, save albsol2
 
real, dimension(:,:), allocatable, save ref_liq
 
real, dimension(:,:), allocatable, save d_v_oro
 
real, dimension(:), allocatable, save ue
 
subroutine diagphy(airephy, tit, iprt, tops, topl, sols, soll, sens, evap, rain_fall, snow_fall, ts, d_etp_tot, d_qt_tot, d_ec_tot, fs_bound, fq_bound)
 
real, dimension(:), allocatable, save cdragm_x
 
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 iflag_thermals
 
real, dimension(:,:), allocatable, save d_q_vdf
 
real, dimension(:,:,:), allocatable, save tausum_aero
 
real, dimension(:,:), allocatable, save prfl
 
real, dimension(:,:), allocatable, save d_t_eva
nrlmd 
 
real, dimension(:), allocatable, save rlat
 
real, dimension(:), allocatable, save topswai_aero
 
real, dimension(:,:), allocatable, save wstar
 
real, dimension(:,:), allocatable, save ustar
 
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL pdtphys
 
!$Id t_glace_min REAL exposant_glace REAL rei_max REAL coefw_cld_cv REAL tmax_fonte_cv INTEGER iflag_cld_cv common nuagecom coefw_cld_cv
 
real, dimension(:,:), allocatable, save fraca
 
!$Id t_glace_min REAL exposant_glace REAL rei_max REAL tau_cld_cv
 
real, dimension(:,:), allocatable, save solsw_aero
 
subroutine add_pbl_tend(zdu, zdv, zdt, zdq, zdql, zdqi, paprs, text, abortphy)
 
real, dimension(:,:), allocatable, save d_t_lscth
 
real, dimension(:), allocatable, save ale
 
real, dimension(:), allocatable, save solswai
 
subroutine nuage(paprs, pplay, t, pqlwp, pclc, pcltau, pclemi, pch, pcl, pcm, pct, pctlwp, ok_aie, mass_solu_aero, mass_solu_aero_pi, bl95_b0, bl95_b1, cldtaupi, re, fl)
 
real, dimension(:,:), allocatable, save cool0p
 
real, dimension(:,:), allocatable, save zfldn0
 
real, dimension(:,:), allocatable, save du_gwd_rando
 
real, dimension(:), allocatable, save wake_pe
 
real, dimension(:,:), allocatable, save d_t_swr
 
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_ener_conserv REAL solaire RCFC12 RCFC12_act CFC12_ppt!IM ajout CFMIP2 CMIP5 LOGICAL ok_4xCO2atm RCFC12_per CFC12_ppt_per!OM correction du bilan d eau global!OM Correction sur precip KE REAL cvl_corr!OM Fonte calotte dans bilan eau LOGICAL ok_lic_melt!IM simulateur ISCCP INTEGER overlap!IM seuils cdrh REAL cdhmax!IM param stabilite s terres et en dehors REAL f_ri_cd_min!IM MAFo pmagic evap0!Frottement au f_cdrag_oce REAL f_gust_bl
 
real, dimension(:,:,:), allocatable, save fluxt
 
real, dimension(:), allocatable, save s_lcl_x
 
real, dimension(:,:), allocatable, save coolp
 
real, dimension(nfiles), save ecrit_files
 
real, dimension(:), allocatable, save cin
 
real, dimension(:), allocatable, save cldt
 
subroutine readaerosolstrato(debut)
 
integer(kind=jpim) nradlp
 
real, dimension(:,:), allocatable, save clwcon0th
 
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL & u_seri
 
real, dimension(:), allocatable, save toplwp
 
real, dimension(:), allocatable, save plfc
 
real, dimension(:,:), allocatable, save agesno
 
real, dimension(:,:), allocatable, save east_gwstress
 
subroutine phys_state_var_init()
 
real, dimension(:,:), allocatable, save d_u_vdf
 
real, dimension(:,:), allocatable, save swup
 
real, dimension(:), allocatable, save alp_bl_fluct_tke
 
real, dimension(:,:), allocatable, save d_u_ajs
 
real, dimension(:,:), allocatable, save d_t_vdf_x
 
real, dimension(:,:,:,:), allocatable, save cg_aero_sw_rrtm
 
subroutine phys_output_var_init
 
real, dimension(:,:), allocatable, save ratqs
 
subroutine ini_undefstd(itap, itapm1)
 
real, dimension(:), allocatable zvstr_gwd_rando
 
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 nsplit_thermals
 
real, dimension(:), allocatable, save ale_bl_trig
 
real, dimension(:,:), allocatable, save psfl
 
real, dimension(:), allocatable zustr_gwd_front
 
subroutine writefield_phy(name, Field, ll)
 
real, dimension(:), allocatable, save sollwai_aerop
 
real, dimension(:), allocatable, save zstd
 
subroutine gr_fi_ecrit(nfield, nlon, iim, jjmp1, fi, ecrit)
 
real, dimension(:,:), allocatable, save t_seri
 
real, dimension(:), allocatable, save wake_h
jyg+nrlmd 
 
real, dimension(:,:), allocatable, save du_gwd_hines
 
character(len=4), save type_trac
 
real, dimension(:), allocatable, save longitude_deg
 
real, dimension(:,:), allocatable, save d_t_oro
nrlmd+jyg 
 
real, dimension(:,:), allocatable, save d_v_vdf
 
real, dimension(:,:), allocatable, save pmfu
 
real, dimension(:,:), allocatable, save swdnp
 
logical, save is_mpi_root
 
real, dimension(:,:), allocatable, save wdtrainm
 
real, dimension(:,:), allocatable, save ql_seri
 
real, dimension(:), allocatable, save toplw0p
 
real, dimension(:,:), allocatable, save dnwd0
 
real, dimension(:), allocatable, save zxqsurf
 
real, dimension(:), allocatable, save prw
 
integer, parameter is_sic
 
real, dimension(:,:), allocatable, save solswcf_aero
 
real, dimension(:), allocatable, save fiwp
 
real, dimension(:,:), allocatable, save flwc
 
subroutine abort_physic(modname, message, ierr)
 
real, dimension(:), allocatable, save s_pblh
 
real, dimension(:,:), allocatable, save fevap
 
subroutine calcratqs(klon, klev, prt_level, lunout, iflag_ratqs, iflag_con, iflag_cld_th, pdtphys, ratqsbas, ratqshaut, tau_ratqs, fact_cldcon, ptconv, ptconvth, clwcon0th, rnebcon0th, paprs, pplay, q_seri, zqsat, fm_therm, ratqs, ratqsc)
 
real, dimension(:), allocatable, save to_ice
 
real, dimension(:), allocatable, save zmax0
nrlmd 
 
subroutine phyetat0(fichnom)
 
subroutine open_climoz(ncid, press_in_edg)
 
real, dimension(:), allocatable, save kh_w
 
real, dimension(:), allocatable, save albpla
 
real, dimension(:), allocatable, save wd
 
real, dimension(:,:), allocatable, save z0h
 
real, dimension(:,:), allocatable, save d_t_lscst
 
subroutine readaerosol_optic(debut, new_aod, flag_aerosol, itap, rjourvrai, pdtphys, pplay, paprs, t_seri, rhcl, presnivs, mass_solu_aero, mass_solu_aero_pi, tau_aero, piz_aero, cg_aero, tausum_aero, tau3d_aero)
 
real, dimension(:), allocatable, save sollw0p
 
real, dimension(:), allocatable, save topswad_aero
 
real, dimension(:), allocatable, save s_lcl_w
 
real, dimension(:), allocatable, save toplwad0_aerop
 
real, dimension(:,:), allocatable, save d_t_vdf
 
real, dimension(:,:), allocatable, save zfsdn0
 
real, dimension(:), allocatable, save cldq
 
real, dimension(:), allocatable, save solswad_aerop
 
subroutine clouds_bigauss(klon, nd, r, rs, qtc, sigt, ptconv, ratqsc, cldf)
 
c c zjulian c cym CALL iim cym klev iim cym jjmp1 cym On stoke le fichier bilKP instantanne s jmax_ins print On stoke le fichier bilKP instantanne s s cym cym nid_bilKPins ENDIF c cIM BEG c cIM cf AM BEG region cym CALL histbeg("histbilKP_ins", iim, zx_lon(:, 1), cym.jjmp1, zx_lat(1,:), cym.imin_ins, imax_ins-imin_ins+1, cym.jmin_ins, jmax_ins-jmin_ins+1, cym.itau_phy, zjulian, dtime, cym.nhori, nid_bilKPins) CALL histbeg_phy("histbilKP_ins"
 
real, dimension(:,:), allocatable, save d_q_eva
 
real, dimension(:,:), allocatable, save ftsol
 
real, dimension(:), allocatable, save random_notrig
 
real, dimension(:), allocatable, save sens_x
 
real, dimension(:,:), allocatable, save d_u_dyn
 
real, dimension(:,:), allocatable, save ma
 
real, dimension(:,:), allocatable, save wake_omg
 
integer, save days_elapsed
 
real, dimension(:), allocatable, save ptstar
 
real, dimension(:), allocatable zustr_gwd_rando
 
real, dimension(:), allocatable, save solswad
 
real, dimension(:,:), allocatable, save omega
 
real, dimension(:,:,:), allocatable, save d_tr_dyn
 
real, dimension(:), allocatable, save fder
 
real, dimension(:,:), allocatable, save zqasc
 
subroutine diagcld2(paprs, pplay, t, q, diafra, dialiq)
 
logical, save is_sequential
 
real, dimension(:,:,:), allocatable, save d_tr
 
real, dimension(:,:), allocatable, save swupp
 
real, dimension(:,:), allocatable, save lwup
 
real, dimension(:,:), allocatable, save u_ancien
 
real, dimension(:,:), allocatable, save d_v_dyn
 
subroutine lmdz_cfmip_point_locations(npCFMIP, lonCFMIP, latCFMIP, tabijGCM, lonGCM, latGCM, ipt, jpt)
 
real, dimension(:,:), allocatable, save theta
 
subroutine diagcld1(paprs, pplay, rain, snow, kbot, ktop, diafra, dialiq)
 
subroutine concvl(iflag_clos,dtime, paprs, pplay, k_upper_cv,t, q, t_wake, q_wake, s_wake, u, v, tra, ntra,Ale, Alp, sig1, w01,d_t, d_q, d_u, d_v, d_tra,rain, snow, kbas, ktop, sigd,cbmf, plcl, plfc, wbeff, upwd, dnwd, dnwdbis,Ma, mip, Vprecip,cape, cin, tvp, Tconv, iflag,pbase, bbase, dtvpdt1, dtvpdq1, dplcldt, dplcldr,qcondc, wd, pmflxr, pmflxs,
 
real, dimension(:,:), allocatable, save d_ts
 
subroutine phytrac(nstep, julien, gmtime, debutphy, lafin, pdtphys, u, v, t_seri, paprs, pplay, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, cdragh, coefh, fm_therm, entr_therm, yu1, yv1, ftsol, pctsrf, ustar, u10m, v10m, wstar, ale_bl, ale_wake, xlat, xlon, frac_impa, frac_nucl, beta_fisrt, beta_v1, presnivs, pphis, pphi, albsol, sh, rh, cldfra, rneb, diafra, cldliq, itop_con, ibas_con, pmflxr, pmflxs, prfl, psfl, da, phi, mp, upwd, phi2, d1a, dam, sij, wght_cvfd, wdtrainA, wdtrainM, sigd, clw, elij, evap, ep, epmlmMm, eplaMm, dnwd, aerosol_couple, flxmass_w, tau_aero, piz_aero, cg_aero, ccm, rfname, d_tr_dyn, tr_seri)
 
subroutine newmicro(ok_cdnc, bl95_b0, bl95_b1, paprs, pplay, t, pqlwp, pclc, pcltau, pclemi, pch, pcl, pcm, pct, pctlwp, xflwp, xfiwp, xflwc, xfiwc, mass_solu_aero, mass_solu_aero_pi, pcldtaupi, re, fl, reliq, reice, reliq_pi, reice_pi)
 
real, dimension(:,:), allocatable, save d_q_vdf_x
 
real, dimension(:), allocatable, save zthe
 
subroutine drag_noro_strato(nlon, nlev, dtime, paprs, pplay, pmea, pstd, psig, pgam, pthe, ppic, pval, kgwd, kdx, ktest, t, u, v, pulow, pvlow, pustr, pvstr, d_t, d_u, d_v)
 
subroutine conflx(dtime, pres_h, pres_f, t, q, con_t, con_q, pqhfl, w, d_t, d_q, rain, snow, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, kcbot, kctop, kdtop, pmflxr, pmflxs)
 
real, dimension(:,:), allocatable, save d_q_ajsb
 
subroutine ini_wake(wape, fip, it_wape_prescr, wape_prescr, fip_prescr, alp_bl_prescr, ale_bl_prescr)
 
real, dimension(:,:), allocatable, save topsw_aerop
 
subroutine calltherm(dtime, pplay, paprs, pphi, weak_inversion, u_seri, v_seri, t_seri, q_seri, zqsat, debut, d_u_ajs, d_v_ajs, d_t_ajs, d_q_ajs, fm_therm, entr_therm, detr_therm, zqasc, clwcon0, lmax, ratqscth, ratqsdiff, zqsatth, Ale_bl, Alp_bl, lalim_conv, wght_th, zmax0, f0, zw2, fraca, ztv, zpspsk, ztla, zthl, pbl_tke, pctsrf, omega, airephy, zlcl_th, fraca0, w0, w_conv, therm_tke_max0, env_tke_max0, n2, s2, ale_bl_stat, therm_tke_max, env_tke_max, alp_bl_det, alp_bl_fluct_m, alp_bl_fluct_tke, alp_bl_conv, alp_bl_stat, zqla, ztva)
 
subroutine conema3(dtime, paprs, pplay, t, q, u, v, tra, ntra, work1, work2, d_t, d_q, d_u, d_v, d_tra, rain, snow, kbas, ktop, upwd, dnwd, dnwdbis, bas, top, ma, cape, tvp, rflag, pbase, bbase, dtvpdt1, dtvpdq1, dplcldt, dplcldr, qcond_incld)
 
integer, parameter is_oce
 
real, dimension(:,:), allocatable, save v_seri
 
!$Id!Parameters for nlm real sigd
 
subroutine iniradia(klon, klev, pres)
 
real, dimension(:), allocatable, save cdragh_x
 
real, dimension(:), allocatable, save alp
 
real, dimension(:,:), allocatable, save detr_therm
 
real, dimension(:), allocatable, save cell_area
 
real, dimension(:,:), allocatable, save d_t_vdf_w
 
real, dimension(:), allocatable, save zxfluxlat
 
subroutine readaerosol_optic_rrtm(debut, aerosol_couple, new_aod, flag_aerosol, itap, rjourvrai, pdtphys, pplay, paprs, t_seri, rhcl, presnivs, tr_seri, mass_solu_aero, mass_solu_aero_pi, tau_aero, piz_aero, cg_aero, tausum_aero, tau3d_aero)
 
real, dimension(:,:), allocatable, save fqd
 
real, dimension(:,:), allocatable, save ref_ice_pi
 
real, dimension(:,:), allocatable, save v_ancien
 
subroutine haut2bas(klon, klev, varb2h, varh2b)
 
real, dimension(:), allocatable, save topswp
 
subroutine stratocu_if(klon, klev, pctsrf, paprs, pplay, t, seuil_inversion, weak_inversion, dthmin)
 
!$Header!gestion des impressions de sorties et de débogage la sortie standard prt_level COMMON comprint lunout
 
real, dimension(:,:), allocatable, save dv_gwd_front
 
real, dimension(:), allocatable, save sollw0
 
real, dimension(:,:), allocatable, save d_t_lsc
 
subroutine pbl_surface(dtime,date0,itap,jour,debut,lafin,rlon,rlat,rugoro,rmu0,zsig,lwdown_m,pphi,cldt,rain_f,snow_f,solsw_m,sollw_m,gustiness,t,q,u,v,
 
subroutine aeropt_lw_rrtm
 
real, dimension(:,:), allocatable, save zfsup0
 
subroutine ener_conserv(klon, klev, pdtphys, puo, pvo, pto, pqo, pun, pvn, ptn, pqn, dtke, masse, exner, d_t_ec)
 
real, dimension(:), allocatable, save s_pblt
 
subroutine change_srf_frac(itime, dtime, jour, pctsrf, evap, z0m, z0h, agesno, alb_dir, alb_dif, tsurf, ustar, u10m, v10m, pbl_tke)
 
real, dimension(:,:), allocatable, save fsolsw
 
integer, parameter vtphysiq
 
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_clos
 
real, dimension(:,:), allocatable, save zlwft0_i
 
real, dimension(:), allocatable, save tpote
 
real, dimension(:), allocatable, save radsolp
 
real, dimension(:), allocatable, save topswai
 
real, dimension(:,:), allocatable, save wake_deltat
 
real, dimension(:,:), allocatable, save albsol_dir
 
real, dimension(:), allocatable, save zq2m