pbl_surface Subroutine

public subroutine pbl_surface(dtime, date0, itap, jour, debut, lafin, rlon, rlat, rugoro, rmu0, lwdown_m, pphi, cldt, rain_f, snow_f, bs_f, solsw_m, solswfdiff_m, sollw_m, gustiness, t, q, qbs, u, v, wake_dlt, wake_dlq, wake_cstar, wake_s, pplay, paprs, pctsrf, ts, SFRWL, alb_dir, alb_dif, ustar, u10m, v10m, wstar, cdragh, cdragm, zu1, zv1, beta, alb_dir_m, alb_dif_m, zxsens, zxevap, zxsnowerosion, icesub_lic, alb3_lic, runoff, snowhgt, qsnow, to_ice, sissnow, zxtsol, zxfluxlat, zt2m, qsat2m, zn2mout, d_t, d_q, d_qbs, d_u, d_v, d_t_diss, d_t_w, d_q_w, d_t_x, d_q_x, zxsens_x, zxfluxlat_x, zxsens_w, zxfluxlat_w, delta_tsurf, wake_dens, cdragh_x, cdragh_w, cdragm_x, cdragm_w, kh, kh_x, kh_w, zcoefh, zcoefm, slab_wfbils, qsol, zq2m, s_pblh, s_plcl, s_pblh_x, s_plcl_x, s_pblh_w, s_plcl_w, s_capCL, s_oliqCL, s_cteiCL, s_pblT, s_therm, s_trmb1, s_trmb2, s_trmb3, zustar, zu10m, zv10m, fder_print, zxqsurf, delta_qsurf, rh2m, zxfluxu, zxfluxv, z0m, z0h, agesno, sollw, solsw, d_ts, evap, fluxlat, t2m, wfbils, wfevap, flux_t, flux_u, flux_v, dflux_t, dflux_q, zxsnow, zxfluxt, zxfluxq, zxfluxqbs, q2m, flux_q, flux_qbs, tke_x, eps_x, wake_dltke, treedrg, hice, tice, bilg_cumul, fcds, fcdi, dh_basal_growth, dh_basal_melt, dh_top_melt, dh_snow2sic, dtice_melt, dtice_snow2sic, tsurf_tersrf, tsoil_tersrf, qsurf_tersrf, tsurf_new_tersrf, cdragm_tersrf, cdragh_tersrf, swnet_tersrf, lwnet_tersrf, fluxsens_tersrf, fluxlat_tersrf)

Uses

! nrlmd+jyg le 02/05/2011 et le 20/02/2012 t_x, q_x, t_w, q_w, & ! jyg ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 d_wake_dlt,d_wake_dlq, & ! ! nrlmd le 13/06/2011 ! ! ! jyg le 08/02/2012 ! zxfluxt, zxfluxq, q2m, flux_q, tke, & jyg ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 tke_x, tke_w & !


Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818 Objet: interface de "couche limite" (diffusion verticale)

AA REM: AA----- AA Tout ce qui a trait au traceurs est dans phytrac maintenant AA pour l'instant le calcul de la couche limite pour les traceurs AA se fait avec cltrac et ne tient pas compte de la differentiation AA des sous-fraction de sol. AA REM bis : AA---------- AA Pour pouvoir extraire les coefficient d'echanges et le vent AA dans la premiere couche, 3 champs supplementaires ont ete crees AA zcoefh, zu1 et zv1. Pour l'instant nous avons moyenne les valeurs AA de ces trois champs sur les 4 subsurfaces du modele. Dans l'avenir AA si les informations des subsurfaces doivent etre prises en compte AA il faudra sortir ces memes champs en leur ajoutant une dimension, AA c'est a dire nbsrf (nbre de subsurface).

Arguments:

dtime----input-R- interval du temps (secondes) itap-----input-I- numero du pas de temps date0----input-R- jour initial t--------input-R- temperature (K) q--------input-R- vapeur d'eau (kg/kg) u--------input-R- vitesse u v--------input-R- vitesse v wake_dlt-input-R- temperatre difference between (w) and (x) (K) wake_dlq-input-R- humidity difference between (w) and (x) (kg/kg) wake_cstar-input-R- wake gust front speed (m/s) wake_s---input-R- wake fractionnal area ts-------input-R- temperature du sol (en Kelvin) paprs----input-R- pression a intercouche (Pa) pplay----input-R- pression au milieu de couche (Pa) rlat-----input-R- latitude en degree z0m, z0h ----input-R- longeur de rugosite (en m) Martin cldt-----input-R- total cloud fraction Martin GG pphi-----input-R- geopotentiel de chaque couche (g z) (reference sol) GG

d_t------output-R- le changement pour "t" d_q------output-R- le changement pour "q" d_u------output-R- le changement pour "u" d_v------output-R- le changement pour "v" d_ts-----output-R- le changement pour "ts" flux_t---output-R- flux de chaleur sensible (CpT) J/m2/s (W/m2) (orientation positive vers le bas) tke_x---input/output-R- tke in the (x) region (kg/m2/s) wake_dltke-input/output-R- tke difference between (w) and (x) (kg/m2/s) flux_q---output-R- flux de vapeur d'eau (kg/m2/s) flux_u---output-R- tension du vent X: (kg m/s)/(m2 s) ou Pascal flux_v---output-R- tension du vent Y: (kg m/s)/(m**2 s) ou Pascal dflux_t--output-R- derive du flux sensible dflux_q--output-R- derive du flux latent zu1------output-R- le vent dans la premiere couche zv1------output-R- le vent dans la premiere couche trmb1----output-R- deep_cape trmb2----output-R- inhibition trmb3----output-R- Point Omega cteiCL---output-R- Critere d'instab d'entrainmt des nuages de CL plcl-----output-R- Niveau de condensation pblh-----output-R- HCL pblT-----output-R- T au nveau HCL treedrg--output-R- tree drag (m)
qsurf_tersrf--output-R- surface specific humidity of continental sub-surfaces cdragm_tersrf--output-R- momentum drag coefficient of continental sub-surfaces cdragh_tersrf--output-R- heat drag coefficient of continental sub-surfaces tsurf_new_tersrf--output-R- surface temperature of continental sub-surfaces swnet_tersrf--output-R- net shortwave radiation of continental sub-surfaces lwnet_tersrf--output-R- net longwave radiation of continental sub-surfaces fluxsens_tersrf--output-R- sensible heat flux of continental sub-surfaces fluxlat_tersrf--output-R- latent heat flux of continental sub-surfaces


jyg iflag_split = mod(iflag_pbl_split,2) jyg iflag_split = mod(iflag_pbl_split,10)


1) Initialisation and validation tests Only done first time entering this subroutine



Force soil water content to qsol0 if qsol0>0 and VEGET=F (use bucket instead of ORCHIDEE)



2) Initialization to zero


2a) Initialization of all argument variables with INTENT(OUT)


tke(:,:,is_ave)=0.

jyg ! jyg le 23/02/2013 ! ! ! jyg le 10/02/2012


cdragh = 0.0  ; cdragm = 0.0     ; dflux_t = 0.0   ; dflux_q = 0.0
zv1 = 0.0     ; yqsurf = 0.0

d_ts = 0.0    ; yfluxlat=0.0     ; flux_t = 0.0    ; flux_q = 0.0     
flux_u = 0.0  ; flux_v = 0.0     ; d_t = 0.0       ; d_q = 0.0      
d_t_diss= 0.0 ;d_u = 0.0     ; d_v = 0.0

! nrlmd+jyg le 02/05/2011 et le 20/02/2012 d_t_w=0. ; d_q_w=0.
d_t_x=0. ; d_q_x=0. d_wake_dlt=0. ; d_wake_dlq=0. ! ! nrlmd le 13/06/2011 !


jyg jyg !

!


3) - Calculate pressure thickness of each layer - Calculate the wind at first layer - Mean calculations of albedo - Calculate net radiance at sub-surface



Test for rugos........ from physiq.. A la fin plutot???


al1


4) Loop over different surfaces

Only points containing a fraction of the sub surface will be treated.


<<<<<<<<<<<<< (nsrf == is_oce) (iflag_split_ref == 3)

! jyg le 19/08/2012

!


5) Compress variables


jyg ywindsp(j) = SQRT(u10m(i,nsrf)2 + v10m(i,nsrf)2 ) jyg ! nrlmd le 13/06/2011 ! ! jyg le 07/02/2012 et le 10/04/2013 ytke(j,k) = tke(i,k,nsrf) jyg GG

! nrlmd le 02/05/2011 !

! nrlmd le 02/05/2011 ytke_x(j,k) = tke(i,k,nsrf)-wake_s(i)wake_dltke(i,k,nsrf) ytke_w(j,k) = tke(i,k,nsrf)+(1.-wake_s(i))wake_dltke(i,k,nsrf) ywake_dltke(j,k) = wake_dltke(i,k,nsrf) ytke(j,k) = tke(i,k,nsrf)

jyg ! ! jyg le 07/02/2012 ! ! nrlmd le 13/06/2011 ! !


6a) Calculate coefficients for turbulent diffusion at surface, cdragh et cdragm.


! jyg le 07/02/2012 ! ! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012

! AM heterogeneous continental subsurfaces ! !


6b) Calculate coefficients for turbulent diffusion in the atmosphere, ycoefh et ycoefm.


! jyg le 07/02/2012 ! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012 !jyg le 10/04/2013 En attendant de traiter le transport des traceurs dans les poches froides, formule arbitraire pour ycoefh et ycoefm


8) "La descente" - "The downhill"

climb_hq_down and climb_wind_down calculate the coefficients Ccoef_X et Dcoef_X for X=[H, Q, U, V]. Only the coefficients at surface for H and Q are returned.


! jyg le 07/02/2012 ! ! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012 ! jyg le 09/05/2011 ! ! nrlmd le 02/05/2011 ! ! ! nrlmd le 02/05/2011 ! ! ! !

! jyg le 07/02/2012 ! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012 ! jyg le 09/05/2011 ! ! nrlmd le 02/05/2011 !

! nrlmd le 02/05/2011 ! !
!


9) Small calculations


! nrlmd le 02/05/2011 -----------------------On raccorde les 2 colonnes dans la couche 1

! jyg le 07/02/2012 ! jyg le 01/02/2017


Cdragq computed from cdrag The difference comes only from a factor (f_z0qh_oce) on z0, so that it can be computed inside wx_pbl0_merge More complicated appraches may require the propagation through pbl_surface of an independant cdragq variable.


   ycdragq_x(1:knon)=ycdragh_x(1:knon)*                                      &
        log(z1lay(1:knon)/yz0h(1:knon))/log(z1lay(1:knon)/(f_z0qh_oce*yz0h(1:knon)))
   ycdragq_w(1:knon)=ycdragh_w(1:knon)*                                      &
        log(z1lay(1:knon)/yz0h(1:knon))/log(z1lay(1:knon)/(f_z0qh_oce*yz0h(1:knon)))

 Print *,'YYYYpbl0: fact_cdrag ', fact_cdrag

Print *,'YYYYpbl0: z1lay, yz0h, f_z0qh_oce, ycdragh_w, ycdragq_w ', & z1lay, yz0h(1:knon), f_z0qh_oce, ycdragh_w(1:knon), ycdragq_w(1:knon) !


Calulate t2m and q2m for the case of calculation at land grid points t2m and q2m are needed as input to ORCHIDEE



10) Switch according to current surface It is necessary to start with the continental surfaces because the ocean needs their run-off.


jyg yts, ypplay(:,1), ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&

      alb3_lic(:)=0.

jyg jyg ypplay(:,1), zgeo1/RG, ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),& jyg yts, ypplay(:,1), ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&


11) - Calcul the increment of surface temperature



12) "La remontee" - "The uphill"

The fluxes (y_flux_X) and tendancy (y_d_X) are calculated for X=H, Q, U and V, for all vertical levels.


! ! jyg le 10/04/2013 et EV 10/2020

! Test sur iflag_split retire le 2/02/2018, sans vraiment comprendre la raison de ce test. (jyg) IF (iflag_split .eq.0) THEN ENDIF ! (iflag_split .eq.0)

!! HTRn_b, dd_HTRn, HTphiT_b, dd_HTphiT, &

jyg jyg!! A reprendre apres reflexion =============================================== jyg!! jyg!! DO j=1,knon jyg!!!!! nrlmd le 13/06/2011 jyg!! jyg!!!----Diffusion dans le sol dans le cas continental seulement jyg!! IF (nsrf.eq.is_ter) THEN jyg!!!----Calcul du coefficient delta_coeff jyg!! tau_eq(j)=(ywake_s(j)/2.)(1./max(wake_cstar(j),0.01))sqrt(0.4/(3.14max(wake_dens(j),8e-12))) jyg!! jyg!!! delta_coef(j)=dtime/(inertiasqrt(tau_eq(j))) jyg!! delta_coef(j)=facteursqrt(tau_eq(j))/inertia jyg!!! delta_coef(j)=0. jyg!! ELSE jyg!! delta_coef(j)=0. jyg!! ENDIF jyg!! jyg!!!----Calcul de delta_tsurf jyg!! y_delta_tsurf(j)=delta_coef(j)y_delta_flux_t1(j) jyg!! jyg!!!----Si il n'y a pas des poches... jyg!! IF (wake_cstar(j).le.0.01) THEN jyg!! y_delta_tsurf(j)=0. jyg!! y_delta_flux_t1(j)=0. jyg!! ENDIF jyg!! jyg!!!-----Calcul de ybeta (evap_r\'eelle/evap_potentielle) jyg!!!!!!! jyg le 23/02/2012 jyg!!!!!!! jyg!!!! ybeta(j)=y_flux_q1(j) / & jyg!!!! & (Kech_h(j)(yq(j,1)-yqsatsurf(j))) jyg!!!!!! ybeta(j)=-1.yevap(j) / & jyg!!!!!! & (ywake_s(j)Kech_h_w(j)(yq_w(j,1)-yqsatsurf_w(j))+(1.-ywake_s(j))Kech_h_x(j)(yq_x(j,1)-yqsatsurf_x(j))) jyg!!!!!!! fin jyg jyg!!!!! jyg!! jyg!! ENDDO jyg!! jyg!!!!! fin nrlmd le 13/06/2011 jyg!! ! jyg le 07/02/2012 !

! jyg le 07/02/2012 ! ! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012 ! jyg le 07/02/2012 ! ! nrlmd le 02/05/2011 !

! nrlmd le 02/05/2011 ! ! !

! jyg le 07/02/2012 ! ! nrlmd & jyg les 02/05/2011, 13/06/2011, 05/02/2012 ! jyg le 07/02/2012 ! ! nrlmd le 02/05/2011 !

! nrlmd le 02/05/2011 ! ! !

    DO j = 1, knon
      y_dflux_t(j) = y_dflux_t(j) * ypct(j)
      y_dflux_q(j) = y_dflux_q(j) * ypct(j)
    ENDDO

13) Transform variables for output format : - Decompress - Multiply with pourcentage of current surface - Cumulate in global variable


! jyg le 07/02/2012 ! ! jyg le 07/02/2012 ! ! nrlmd le 02/05/2011 ! ! nrlmd le 13/06/2011 jyg20170131 delta_tsurf(i,nsrf)=y_delta_tsurf(j)ypct(j) jyg20210118 delta_tsurf(i,nsrf)=y_delta_tsurf(j) ! !
! ! nrlmd le 02/05/2011 jyg le 20/02/2011 tke_x(:,:,nsrf)=0. tke_w(:,:,nsrf)=0. jyg le 20/02/2011 DO k = 1, klev+1 DO j = 1, knon i = ni(j) wake_dltke(i,k,nsrf) = ytke_w(j,k) - ytke_x(j,k) tke(i,k,nsrf) = ytke_x(j,k) + ywake_s(j)
wake_dltke(i,k,nsrf) ENDDO ENDDO jyg le 20/02/2011 DO k = 1, klev+1 DO j = 1, knon i = ni(j) tke(i,k,nsrf)=(1.-ywake_s(j))tke_x(i,k,nsrf)+ywake_s(j)tke_w(i,k,nsrf) ENDDO ENDDO ! tke(i,k,nsrf) = ytke(j,k) tke(i,k,is_ave) = tke(i,k,is_ave) + ytke(j,k)ypct(j) jyg tke(i,k,nsrf) = ytke_x(j,k) + ywake_s(j)wake_dltke(i,k,nsrf) tke(i,k,is_ave) = tke(i,k,is_ave) + tke(i,k,nsrf)*ypct(j) jyg ! ftsoil(:,:,nsrf) = 0. jyg ! jyg le 07/02/2012 ! ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 d_wake_dlt(i,k) = d_wake_dlt(i,k) + y_d_t_w(i,k)-y_d_t_x(i,k) d_wake_dlq(i,k) = d_wake_dlq(i,k) + y_d_q_w(i,k)-y_d_q_x(i,k) ! !


14) Calculate the temperature and relative humidity at 2m and the wind at 10m Call HBTM


!

! jyg le 07/02/2012 tairsol_x(j) = tairsol(j) - ywake_s(j)*y_delta_tsurf(j) !
! ! jyg le 07/02/2012 ! ! ! jyg le 07/02/2012 ! !

! jyg le 07/02/2012 !
! ! jyg le 07/02/2012 !
!

! jyg le 07/02/2012 ! ! !


15) End of loop over different surfaces



16) Calculate the mean value over all sub-surfaces for some variables


! jyg le 07/02/2012 ! ! nrlmd & jyg les 02/05/2011, 05/02/2012

! !

!

! jyg le 07/02/2012 ! ! nrlmd le 02/05/2011 !

al1 ! jyg le 07/02/2012 ! nrlmd le 02/05/2011 ! ! jyg le 08/02/2012 Pour le moment, on sort les valeurs dans (x) et (w) de pblh et de plcl ; pour zt2m, on fait la moyenne surfacique sur les sous-surfaces ; pour qsat2m, on fait la moyenne surfacique sur (x) et (w) ; pour les autres variables, on sort les valeurs de la region (x). ! !

$! $! If a sub-surface does not exsist for a grid point, the mean value for all $! sub-surfaces is distributed. $! $ DO nsrf = 1, nbsrf $ DO i = 1, klon $ IF ((pctsrf_new(i,nsrf) .LT. epsfra) .OR. (t2m(i,nsrf).EQ.0.)) THEN $ ts(i,nsrf) = zxtsol(i) $ t2m(i,nsrf) = zt2m(i) $ q2m(i,nsrf) = zq2m(i) $ u10m(i,nsrf) = zu10m(i) $ v10m(i,nsrf) = zv10m(i) $ $! Les variables qui suivent sont plus utilise, donc peut-etre pas la peine a les mettre ajour $ pblh(i,nsrf) = s_pblh(i) $ plcl(i,nsrf) = s_plcl(i) $ capCL(i,nsrf) = s_capCL(i) $ oliqCL(i,nsrf) = s_oliqCL(i) $ cteiCL(i,nsrf) = s_cteiCL(i) $ pblT(i,nsrf) = s_pblT(i) $ therm(i,nsrf) = s_therm(i) $ trmb1(i,nsrf) = s_trmb1(i) $ trmb2(i,nsrf) = s_trmb2(i) $ trmb3(i,nsrf) = s_trmb3(i) $ ENDIF $ ENDDO $ ENDDO

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: dtime
real, intent(in) :: date0
integer, intent(in) :: itap
integer, intent(in) :: jour
logical, intent(in) :: debut
logical, intent(in) :: lafin
real, intent(in), DIMENSION(klon) :: rlon
real, intent(in), DIMENSION(klon) :: rlat
real, intent(in), DIMENSION(klon) :: rugoro
real, intent(in), DIMENSION(klon) :: rmu0
real, intent(in), DIMENSION(klon) :: lwdown_m
real, intent(in), DIMENSION(klon,klev) :: pphi
real, intent(in), DIMENSION(klon) :: cldt

! nrlmd+jyg le 02/05/2011 et le 20/02/2012 REAL, DIMENSION(klon,klev), INTENT(IN) :: t_x ! Temp\'erature hors poche froide REAL, DIMENSION(klon,klev), INTENT(IN) :: t_w ! Temp\'erature dans la poches froide REAL, DIMENSION(klon,klev), INTENT(IN) :: q_x ! REAL, DIMENSION(klon,klev), INTENT(IN) :: q_w ! Pareil pour l'humidit\'e

real, intent(in), DIMENSION(klon) :: rain_f
real, intent(in), DIMENSION(klon) :: snow_f
real, intent(in), DIMENSION(klon) :: bs_f
real, intent(in), DIMENSION(klon) :: solsw_m
real, intent(in), DIMENSION(klon) :: solswfdiff_m
real, intent(in), DIMENSION(klon) :: sollw_m
real, intent(in), DIMENSION(klon) :: gustiness
real, intent(in), DIMENSION(klon,klev) :: t
real, intent(in), DIMENSION(klon,klev) :: q
real, intent(in), DIMENSION(klon,klev) :: qbs
real, intent(in), DIMENSION(klon,klev) :: u
real, intent(in), DIMENSION(klon,klev) :: v
real, intent(in), DIMENSION(klon,klev) :: wake_dlt
real, intent(in), DIMENSION(klon,klev) :: wake_dlq
real, intent(in), DIMENSION(klon) :: wake_cstar
real, intent(in), DIMENSION(klon) :: wake_s
real, intent(in), DIMENSION(klon,klev) :: pplay
real, intent(in), DIMENSION(klon,klev+1) :: paprs
real, intent(in), DIMENSION(klon, nbsrf) :: pctsrf
real, intent(inout), DIMENSION(klon, nbsrf) :: ts

jyg

real, intent(in), DIMENSIOn(6) :: SFRWL
real, intent(inout), DIMENSION(klon, nsw, nbsrf) :: alb_dir
real, intent(inout), DIMENSION(klon, nsw, nbsrf) :: alb_dif
real, intent(inout), DIMENSION(klon, nbsrf) :: ustar
real, intent(inout), DIMENSION(klon, nbsrf) :: u10m
real, intent(inout), DIMENSION(klon, nbsrf) :: v10m

REAL, DIMENSION(klon, klev+1, nbsrf+1), INTENT(INOUT) :: tke

real, intent(inout), DIMENSION(klon, nbsrf+1) :: wstar
real, intent(out), DIMENSION(klon) :: cdragh
real, intent(out), DIMENSION(klon) :: cdragm
real, intent(out), DIMENSION(klon) :: zu1
real, intent(out), DIMENSION(klon) :: zv1
real, intent(inout), DIMENSION(klon, nbsrf) :: beta
real, intent(out), DIMENSION(klon, nsw) :: alb_dir_m
real, intent(out), DIMENSION(klon, nsw) :: alb_dif_m
real, intent(out), DIMENSION(klon) :: zxsens
real, intent(out), DIMENSION(klon) :: zxevap
real, intent(out), DIMENSION(klon) :: zxsnowerosion
real, intent(out), DIMENSION(klon) :: icesub_lic
real, intent(out), DIMENSION(klon) :: alb3_lic
real, intent(out), DIMENSION(klon) :: runoff
real, intent(out), DIMENSION(klon) :: snowhgt
real, intent(out), DIMENSION(klon) :: qsnow
real, intent(out), DIMENSION(klon) :: to_ice
real, intent(out), DIMENSION(klon) :: sissnow
real, intent(out), DIMENSION(klon) :: zxtsol

! jyg le ???

real, intent(out), DIMENSION(klon) :: zxfluxlat
real, intent(out), DIMENSION(klon) :: zt2m
real, intent(out), DIMENSION(klon) :: qsat2m
integer, intent(out), DIMENSION(klon, 6) :: zn2mout
real, intent(out), DIMENSION(klon, klev) :: d_t
real, intent(out), DIMENSION(klon, klev) :: d_q
real, intent(out), DIMENSION(klon, klev) :: d_qbs
real, intent(out), DIMENSION(klon, klev) :: d_u
real, intent(out), DIMENSION(klon, klev) :: d_v
real, intent(out), DIMENSION(klon, klev) :: d_t_diss
real, intent(out), DIMENSION(klon,klev) :: d_t_w
real, intent(out), DIMENSION(klon,klev) :: d_q_w
real, intent(out), DIMENSION(klon,klev) :: d_t_x
real, intent(out), DIMENSION(klon,klev) :: d_q_x

! jyg

real, intent(out), DIMENSION(klon) :: zxsens_x
real, intent(out), DIMENSION(klon) :: zxfluxlat_x
real, intent(out), DIMENSION(klon) :: zxsens_w
real, intent(out), DIMENSION(klon) :: zxfluxlat_w

REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_wake_dlt REAL, DIMENSION(klon,klev), INTENT(OUT) :: d_wake_dlq

real, intent(inout), DIMENSION(klon, nbsrf) :: delta_tsurf
real, intent(in), DIMENSION(klon) :: wake_dens

!


jyg<

real, intent(out), DIMENSION(klon) :: cdragh_x
real, intent(out), DIMENSION(klon) :: cdragh_w
real, intent(out), DIMENSION(klon) :: cdragm_x
real, intent(out), DIMENSION(klon) :: cdragm_w
real, intent(out), DIMENSION(klon) :: kh
real, intent(out), DIMENSION(klon) :: kh_x
real, intent(out), DIMENSION(klon) :: kh_w

!

real, intent(out) :: zcoefh(:,:,:)
real, intent(out) :: zcoefm(:,:,:)

! nrlmd+jyg le 02/05/2011 et le 20/02/2012

real, intent(out), DIMENSION(klon) :: slab_wfbils
real, intent(out), DIMENSION(klon) :: qsol
real, intent(out), DIMENSION(klon) :: zq2m
real, intent(out), DIMENSION(klon) :: s_pblh

! jyg le 08/02/2012

real, intent(out), DIMENSION(klon) :: s_plcl

! jyg le 08/02/2012

real, intent(out), DIMENSION(klon) :: s_pblh_x
real, intent(out), DIMENSION(klon) :: s_plcl_x
real, intent(out), DIMENSION(klon) :: s_pblh_w

!

real, intent(out), DIMENSION(klon) :: s_plcl_w

!

real, intent(out), DIMENSION(klon) :: s_capCL
real, intent(out), DIMENSION(klon) :: s_oliqCL
real, intent(out), DIMENSION(klon) :: s_cteiCL
real, intent(out), DIMENSION(klon) :: s_pblT
real, intent(out), DIMENSION(klon) :: s_therm
real, intent(out), DIMENSION(klon) :: s_trmb1
real, intent(out), DIMENSION(klon) :: s_trmb2
real, intent(out), DIMENSION(klon) :: s_trmb3
real, intent(out), DIMENSION(klon) :: zustar
real, intent(out), DIMENSION(klon) :: zu10m
real, intent(out), DIMENSION(klon) :: zv10m
real, intent(out), DIMENSION(klon) :: fder_print
real, intent(out), DIMENSION(klon) :: zxqsurf
real, intent(out), DIMENSION(klon) :: delta_qsurf
real, intent(out), DIMENSION(klon) :: rh2m
real, intent(out), DIMENSION(klon, klev) :: zxfluxu
real, intent(out), DIMENSION(klon, klev) :: zxfluxv
real, intent(inout), DIMENSION(klon, nbsrf+1) :: z0m
real, intent(inout), DIMENSION(klon, nbsrf+1) :: z0h
real, intent(inout), DIMENSION(klon, nbsrf) :: agesno
real, intent(out), DIMENSION(klon, nbsrf) :: sollw
real, intent(out), DIMENSION(klon, nbsrf) :: solsw
real, intent(out), DIMENSION(klon, nbsrf) :: d_ts
real, intent(inout), DIMENSION(klon, nbsrf) :: evap
real, intent(out), DIMENSION(klon, nbsrf) :: fluxlat
real, intent(out), DIMENSION(klon, nbsrf) :: t2m
real, intent(out), DIMENSION(klon, nbsrf) :: wfbils
real, intent(out), DIMENSION(klon, nbsrf) :: wfevap
real, intent(out), DIMENSION(klon, klev, nbsrf) :: flux_t
real, intent(out), DIMENSION(klon, klev, nbsrf) :: flux_u
real, intent(out), DIMENSION(klon, klev, nbsrf) :: flux_v
real, intent(out), DIMENSION(klon) :: dflux_t
real, intent(out), DIMENSION(klon) :: dflux_q
real, intent(out), DIMENSION(klon) :: zxsnow
real, intent(out), DIMENSION(klon, klev) :: zxfluxt
real, intent(out), DIMENSION(klon, klev) :: zxfluxq
real, intent(out), DIMENSION(klon, klev) :: zxfluxqbs
real, intent(out), DIMENSION(klon, nbsrf) :: q2m
real, intent(out), DIMENSION(klon, klev, nbsrf) :: flux_q
real, intent(out), DIMENSION(klon, klev, nbsrf) :: flux_qbs
real, intent(inout), DIMENSION(klon, klev+1, nbsrf+1) :: tke_x
real, intent(out), DIMENSION(klon,klev+1,nbsrf+1) :: eps_x
real, intent(inout), DIMENSION(klon, klev+1, nbsrf+1) :: wake_dltke

jyg ! nrlmd+jyg le 02/05/2011 et le 20/02/2012 !


real, intent(inout), DIMENSION(klon, klev, nbsrf) :: treedrg
real, intent(inout), DIMENSION(klon) :: hice
real, intent(inout), DIMENSION(klon) :: tice
real, intent(inout), DIMENSION(klon) :: bilg_cumul
real, intent(inout), DIMENSION(klon) :: fcds
real, intent(inout), DIMENSION(klon) :: fcdi
real, intent(inout), DIMENSION(klon) :: dh_basal_growth
real, intent(inout), DIMENSION(klon) :: dh_basal_melt
real, intent(inout), DIMENSION(klon) :: dh_top_melt
real, intent(inout), DIMENSION(klon) :: dh_snow2sic
real, intent(inout), DIMENSION(klon) :: dtice_melt
real, intent(inout), DIMENSION(klon) :: dtice_snow2sic
real, intent(inout), DIMENSION(klon, nbtersrf) :: tsurf_tersrf
real, intent(inout), DIMENSION(klon, nsoilmx, nbtersrf) :: tsoil_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: qsurf_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: tsurf_new_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: cdragm_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: cdragh_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: swnet_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: lwnet_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: fluxsens_tersrf
real, intent(inout), DIMENSION(klon, nbtersrf) :: fluxlat_tersrf

Calls

proc~~pbl_surface~2~~CallsGraph proc~pbl_surface~2 pbl_surface interface~grid1dto2d_glo grid1dTo2d_glo proc~pbl_surface~2->interface~grid1dto2d_glo histend histend proc~pbl_surface~2->histend proc~abort_physic abort_physic proc~pbl_surface~2->proc~abort_physic ymds2ju ymds2ju proc~pbl_surface~2->ymds2ju proc~yamada_c yamada_c proc~pbl_surface~2->proc~yamada_c proc~hbtm hbtm proc~pbl_surface~2->proc~hbtm proc~gath2cpl gath2cpl proc~pbl_surface~2->proc~gath2cpl proc~wx_pbl_prelim_beta wx_pbl_prelim_beta proc~pbl_surface~2->proc~wx_pbl_prelim_beta histwrite histwrite proc~pbl_surface~2->histwrite proc~climb_qbs_up climb_qbs_up proc~pbl_surface~2->proc~climb_qbs_up proc~stdlevvar stdlevvar proc~pbl_surface~2->proc~stdlevvar proc~eff_surf_param eff_surf_param proc~pbl_surface~2->proc~eff_surf_param proc~freinage freinage proc~pbl_surface~2->proc~freinage histdef histdef proc~pbl_surface~2->histdef proc~climb_wind_up climb_wind_up proc~pbl_surface~2->proc~climb_wind_up proc~wx_pbl_prelim_0 wx_pbl_prelim_0 proc~pbl_surface~2->proc~wx_pbl_prelim_0 proc~wx_pbl_split wx_pbl_split proc~pbl_surface~2->proc~wx_pbl_split proc~wx_pbl_check wx_pbl_check proc~pbl_surface~2->proc~wx_pbl_check proc~wx_pbl_dts_merge wx_pbl_dts_merge proc~pbl_surface~2->proc~wx_pbl_dts_merge proc~surf_ocean surf_ocean proc~pbl_surface~2->proc~surf_ocean histbeg histbeg proc~pbl_surface~2->histbeg proc~coef_diff_turb coef_diff_turb proc~pbl_surface~2->proc~coef_diff_turb proc~climb_qbs_down climb_qbs_down proc~pbl_surface~2->proc~climb_qbs_down proc~surf_land surf_land proc~pbl_surface~2->proc~surf_land proc~cdrag cdrag proc~pbl_surface~2->proc~cdrag proc~climb_wind_down climb_wind_down proc~pbl_surface~2->proc~climb_wind_down proc~surf_landice surf_landice proc~pbl_surface~2->proc~surf_landice histsync histsync proc~pbl_surface~2->histsync proc~climb_hq_up climb_hq_up proc~pbl_surface~2->proc~climb_hq_up proc~wx_pbl0_merge wx_pbl0_merge proc~pbl_surface~2->proc~wx_pbl0_merge proc~wx_pbl_dts_check wx_pbl_dts_check proc~pbl_surface~2->proc~wx_pbl_dts_check interface~getin_p getin_p proc~pbl_surface~2->interface~getin_p proc~call_atke call_atke proc~pbl_surface~2->proc~call_atke proc~climb_hq_down climb_hq_down proc~pbl_surface~2->proc~climb_hq_down proc~stdlevvarn stdlevvarn proc~pbl_surface~2->proc~stdlevvarn proc~wx_evappot wx_evappot proc~pbl_surface~2->proc~wx_evappot proc~surf_seaice surf_seaice proc~pbl_surface~2->proc~surf_seaice proc~grid1dto2d_glo_i grid1dTo2d_glo_i interface~grid1dto2d_glo->proc~grid1dto2d_glo_i proc~grid1dto2d_glo_l3 grid1dTo2d_glo_l3 interface~grid1dto2d_glo->proc~grid1dto2d_glo_l3 proc~grid1dto2d_glo_r3 grid1dTo2d_glo_r3 interface~grid1dto2d_glo->proc~grid1dto2d_glo_r3 proc~grid1dto2d_glo_l2 grid1dTo2d_glo_l2 interface~grid1dto2d_glo->proc~grid1dto2d_glo_l2 proc~grid1dto2d_glo_i3 grid1dTo2d_glo_i3 interface~grid1dto2d_glo->proc~grid1dto2d_glo_i3 proc~grid1dto2d_glo_i2 grid1dTo2d_glo_i2 interface~grid1dto2d_glo->proc~grid1dto2d_glo_i2 proc~grid1dto2d_glo_l grid1dTo2d_glo_l interface~grid1dto2d_glo->proc~grid1dto2d_glo_l proc~grid1dto2d_glo_i1 grid1dTo2d_glo_i1 interface~grid1dto2d_glo->proc~grid1dto2d_glo_i1 proc~grid1dto2d_glo_r2 grid1dTo2d_glo_r2 interface~grid1dto2d_glo->proc~grid1dto2d_glo_r2 proc~grid1dto2d_glo_r1 grid1dTo2d_glo_r1 interface~grid1dto2d_glo->proc~grid1dto2d_glo_r1 proc~grid1dto2d_glo_l1 grid1dTo2d_glo_l1 interface~grid1dto2d_glo->proc~grid1dto2d_glo_l1 proc~grid1dto2d_glo_r grid1dTo2d_glo_r interface~grid1dto2d_glo->proc~grid1dto2d_glo_r getin_dump getin_dump proc~abort_physic->getin_dump histclo histclo proc~abort_physic->histclo proc~mpi_abort MPI_ABORT proc~abort_physic->proc~mpi_abort restclo restclo proc~abort_physic->restclo proc~yamada_c->interface~getin_p proc~vdif_q2 vdif_q2 proc~yamada_c->proc~vdif_q2 interface~grid1dto2d_mpi grid1dTo2d_mpi proc~gath2cpl->interface~grid1dto2d_mpi interface~gather_omp gather_omp proc~gath2cpl->interface~gather_omp proc~stdlevvar->proc~cdrag proc~screenp screenp proc~stdlevvar->proc~screenp proc~screenc screenc proc~stdlevvar->proc~screenc proc~surf_ocean->proc~abort_physic proc~alboc alboc proc~surf_ocean->proc~alboc proc~ocean_albedo ocean_albedo proc~surf_ocean->proc~ocean_albedo proc~limit_read_rug_alb limit_read_rug_alb proc~surf_ocean->proc~limit_read_rug_alb proc~ocean_forced_noice ocean_forced_noice proc~surf_ocean->proc~ocean_forced_noice proc~alboc_cd alboc_cd proc~surf_ocean->proc~alboc_cd proc~ocean_cpl_noice ocean_cpl_noice proc~surf_ocean->proc~ocean_cpl_noice proc~ocean_slab_noice ocean_slab_noice proc~surf_ocean->proc~ocean_slab_noice proc~bulk_flux bulk_flux proc~surf_ocean->proc~bulk_flux proc~vdif_kcay vdif_kcay proc~coef_diff_turb->proc~vdif_kcay proc~coefkz2 coefkz2 proc~coef_diff_turb->proc~coefkz2 proc~ustarhb ustarhb proc~coef_diff_turb->proc~ustarhb proc~coefkzmin coefkzmin proc~coef_diff_turb->proc~coefkzmin proc~yamada4 yamada4 proc~coef_diff_turb->proc~yamada4 proc~coefkz coefkz proc~coef_diff_turb->proc~coefkz proc~surf_land->proc~abort_physic proc~surf_land_bucket surf_land_bucket proc~surf_land->proc~surf_land_bucket proc~calcul_flux_wind calcul_flux_wind proc~surf_land->proc~calcul_flux_wind proc~surf_land_orchidee surf_land_orchidee proc~surf_land->proc~surf_land_orchidee proc~surf_land_bucket_hetero surf_land_bucket_hetero proc~surf_land->proc~surf_land_bucket_hetero proc~cdrag->interface~getin_p proc~clc_core_cp clc_core_cp proc~cdrag->proc~clc_core_cp ecumev6_flux ecumev6_flux proc~cdrag->ecumev6_flux proc~coare30_flux_cnrm COARE30_FLUX_CNRM proc~cdrag->proc~coare30_flux_cnrm amax1 amax1 proc~cdrag->amax1 proc~ini_csts INI_CSTS proc~cdrag->proc~ini_csts proc~coare_cp coare_cp proc~cdrag->proc~coare_cp proc~surf_landice->proc~abort_physic proc~surf_landice->interface~getin_p proc~fonte_neige fonte_neige proc~surf_landice->proc~fonte_neige proc~surf_landice->proc~calcul_flux_wind proc~cpl_send_landice_fields cpl_send_landice_fields proc~surf_landice->proc~cpl_send_landice_fields proc~calcul_fluxs calcul_fluxs proc~surf_landice->proc~calcul_fluxs proc~soil soil proc~surf_landice->proc~soil proc~calbeta calbeta proc~surf_landice->proc~calbeta proc~albsno albsno proc~surf_landice->proc~albsno proc~surf_inlandsis surf_inlandsis proc~surf_landice->proc~surf_inlandsis proc~atke_compute_km_kh atke_compute_km_kh proc~call_atke->proc~atke_compute_km_kh proc~atke_explicit_prediction atke_explicit_prediction proc~call_atke->proc~atke_explicit_prediction proc~stdlevvarn->proc~cdrag proc~screencn screencn proc~stdlevvarn->proc~screencn proc~ocean_cpl_ice ocean_cpl_ice proc~surf_seaice->proc~ocean_cpl_ice proc~ocean_forced_ice ocean_forced_ice proc~surf_seaice->proc~ocean_forced_ice proc~ocean_slab_ice ocean_slab_ice proc~surf_seaice->proc~ocean_slab_ice proc~orbite orbite proc~alboc->proc~orbite proc~surf_land_bucket->proc~fonte_neige proc~surf_land_bucket->proc~limit_read_rug_alb proc~surf_land_bucket->proc~calcul_fluxs proc~surf_land_bucket->proc~soil proc~surf_land_bucket->proc~calbeta proc~surf_land_bucket->proc~albsno proc~cpl_send_land_fields cpl_send_land_fields proc~surf_land_bucket->proc~cpl_send_land_fields proc~calbeta_clim calbeta_clim proc~surf_land_bucket->proc~calbeta_clim proc~screencn->proc~cdrag proc~vdif_kcay->amax1 proc~cpl_send_landice_fields->proc~gath2cpl proc~ocean_cpl_ice->proc~calcul_flux_wind proc~ocean_cpl_ice->proc~calcul_fluxs proc~cpl_receive_seaice_fields cpl_receive_seaice_fields proc~ocean_cpl_ice->proc~cpl_receive_seaice_fields proc~cpl_send_seaice_fields cpl_send_seaice_fields proc~ocean_cpl_ice->proc~cpl_send_seaice_fields proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_abort->proc~lmdz_mpi_wrapper_abort proc~ocean_forced_ice->proc~fonte_neige proc~ocean_forced_ice->proc~calcul_flux_wind proc~ocean_forced_ice->proc~calcul_fluxs proc~ocean_forced_ice->proc~soil proc~ocean_forced_ice->proc~calbeta proc~ocean_forced_ice->proc~albsno float float proc~ocean_forced_ice->float proc~limit_read_hice limit_read_hice proc~ocean_forced_ice->proc~limit_read_hice proc~grid1dto2d_mpi_i2 grid1dTo2d_mpi_i2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i2 proc~grid1dto2d_mpi_l3 grid1dTo2d_mpi_l3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l3 proc~grid1dto2d_mpi_l grid1dTo2d_mpi_l interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l proc~grid1dto2d_mpi_l1 grid1dTo2d_mpi_l1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l1 proc~grid1dto2d_mpi_i grid1dTo2d_mpi_i interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i proc~grid1dto2d_mpi_r1 grid1dTo2d_mpi_r1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r1 proc~grid1dto2d_mpi_i1 grid1dTo2d_mpi_i1 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i1 proc~grid1dto2d_mpi_l2 grid1dTo2d_mpi_l2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_l2 proc~grid1dto2d_mpi_r grid1dTo2d_mpi_r interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r proc~grid1dto2d_mpi_i3 grid1dTo2d_mpi_i3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_i3 proc~grid1dto2d_mpi_r3 grid1dTo2d_mpi_r3 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r3 proc~grid1dto2d_mpi_r2 grid1dTo2d_mpi_r2 interface~grid1dto2d_mpi->proc~grid1dto2d_mpi_r2 proc~limit_read_tot limit_read_tot proc~limit_read_rug_alb->proc~limit_read_tot proc~surf_land_orchidee->proc~abort_physic proc~surf_land_orchidee->proc~cpl_send_landice_fields proc~init_surf_para Init_surf_para proc~surf_land_orchidee->proc~init_surf_para proc~surf_land_orchidee->proc~cpl_send_land_fields proc~init_synchro_omp Init_synchro_omp proc~surf_land_orchidee->proc~init_synchro_omp interface~gather gather proc~surf_land_orchidee->interface~gather proc~synchro_omp Synchro_omp proc~surf_land_orchidee->proc~synchro_omp interface~bcast bcast proc~surf_land_orchidee->interface~bcast proc~finalize_surf_para Finalize_surf_para proc~surf_land_orchidee->proc~finalize_surf_para proc~sens_heat_rain sens_heat_rain proc~calcul_fluxs->proc~sens_heat_rain proc~soil->proc~abort_physic proc~soil->interface~bcast proc~ocean_slab_ice->proc~calcul_flux_wind proc~ocean_slab_ice->proc~calcul_fluxs proc~ocean_slab_ice->proc~calbeta proc~atke_compute_km_kh->proc~abort_physic proc~atke_vdiff_tke atke_vdiff_tke proc~atke_compute_km_kh->proc~atke_vdiff_tke proc~ocean_forced_noice->proc~calcul_flux_wind proc~ocean_forced_noice->proc~calcul_fluxs proc~ocean_forced_noice->proc~calbeta proc~limit_read_sst limit_read_sst proc~ocean_forced_noice->proc~limit_read_sst proc~yamada4->proc~abort_physic proc~yamada4->proc~vdif_q2 proc~mixinglength mixinglength proc~yamada4->proc~mixinglength proc~surf_land_bucket_hetero->proc~eff_surf_param proc~surf_land_bucket_hetero->proc~cdrag proc~surf_land_bucket_hetero->proc~fonte_neige proc~surf_land_bucket_hetero->proc~calcul_fluxs proc~surf_land_bucket_hetero->proc~calbeta proc~surf_land_bucket_hetero->proc~albsno proc~surf_land_bucket_hetero->proc~cpl_send_land_fields proc~average_surf_var average_surf_var proc~surf_land_bucket_hetero->proc~average_surf_var proc~soil_hetero soil_hetero proc~surf_land_bucket_hetero->proc~soil_hetero proc~surf_land_bucket_hetero->proc~calbeta_clim proc~coare30_flux_cnrm->proc~abort_physic proc~psit_30 psit_30 proc~coare30_flux_cnrm->proc~psit_30 proc~psiuo psiuo proc~coare30_flux_cnrm->proc~psiuo proc~ocean_cpl_noice->proc~calcul_flux_wind proc~ocean_cpl_noice->proc~calcul_fluxs proc~cpl_receive_ocean_fields cpl_receive_ocean_fields proc~ocean_cpl_noice->proc~cpl_receive_ocean_fields proc~cpl_send_ocean_fields cpl_send_ocean_fields proc~ocean_cpl_noice->proc~cpl_send_ocean_fields proc~screenc->proc~cdrag proc~coare_cp->proc~psit_30 proc~coare_cp->proc~psiuo proc~ocean_slab_noice->proc~calcul_flux_wind proc~ocean_slab_noice->proc~calcul_fluxs proc~ocean_slab_noice->proc~calbeta interface~scatter scatter proc~ocean_slab_noice->interface~scatter proc~slab_ekman2 slab_ekman2 proc~ocean_slab_noice->proc~slab_ekman2 proc~ocean_slab_noice->interface~gather proc~limit_slab limit_slab proc~ocean_slab_noice->proc~limit_slab proc~slab_ekman1 slab_ekman1 proc~ocean_slab_noice->proc~slab_ekman1 proc~divgrad_phy divgrad_phy proc~ocean_slab_noice->proc~divgrad_phy proc~therm_expans therm_expans proc~bulk_flux->proc~therm_expans proc~mom_flux_rain mom_flux_rain proc~bulk_flux->proc~mom_flux_rain proc~near_surface near_surface proc~bulk_flux->proc~near_surface proc~microlayer Microlayer proc~bulk_flux->proc~microlayer proc~sisvatetat0 sisvatetat0 proc~surf_inlandsis->proc~sisvatetat0 proc~init_vartsv INIT_VARtSV proc~surf_inlandsis->proc~init_vartsv proc~get_soil_levels get_soil_levels proc~surf_inlandsis->proc~get_soil_levels proc~inlandsis INLANDSIS proc~surf_inlandsis->proc~inlandsis proc~init_varysv INIT_VARySV proc~surf_inlandsis->proc~init_varysv proc~sisvat_ini SISVAT_ini proc~surf_inlandsis->proc~sisvat_ini proc~init_varxsv INIT_VARxSV proc~surf_inlandsis->proc~init_varxsv proc~sisvatredem sisvatredem proc~surf_inlandsis->proc~sisvatredem proc~mpi_allgather MPI_ALLGATHER proc~init_surf_para->proc~mpi_allgather interface~get_field get_field proc~sisvatetat0->interface~get_field proc~open_startphy Open_startphy proc~sisvatetat0->proc~open_startphy proc~grid1dto2d_mpi_igen grid1dTo2d_mpi_igen proc~grid1dto2d_mpi_i2->proc~grid1dto2d_mpi_igen proc~cpl_send_land_fields->proc~gath2cpl proc~scatter_i1 scatter_i1 interface~scatter->proc~scatter_i1 proc~scatter_r scatter_r interface~scatter->proc~scatter_r proc~scatter_r2 scatter_r2 interface~scatter->proc~scatter_r2 proc~scatter_l2 scatter_l2 interface~scatter->proc~scatter_l2 proc~scatter_i2 scatter_i2 interface~scatter->proc~scatter_i2 proc~scatter_l1 scatter_l1 interface~scatter->proc~scatter_l1 proc~scatter_r3 scatter_r3 interface~scatter->proc~scatter_r3 proc~scatter_i scatter_i interface~scatter->proc~scatter_i proc~scatter_i3 scatter_i3 interface~scatter->proc~scatter_i3 proc~scatter_r1 scatter_r1 interface~scatter->proc~scatter_r1 proc~scatter_l scatter_l interface~scatter->proc~scatter_l proc~scatter_l3 scatter_l3 interface~scatter->proc~scatter_l3 proc~grid1dto2d_mpi_lgen grid1dTo2d_mpi_lgen proc~grid1dto2d_mpi_l3->proc~grid1dto2d_mpi_lgen proc~limit_read_tot->proc~abort_physic proc~limit_read_tot->interface~scatter nf90_open nf90_open proc~limit_read_tot->nf90_open nf90_inquire nf90_inquire proc~limit_read_tot->nf90_inquire nf90_close nf90_close proc~limit_read_tot->nf90_close nf90_inquire_dimension nf90_inquire_dimension proc~limit_read_tot->nf90_inquire_dimension nf90_get_var nf90_get_var proc~limit_read_tot->nf90_get_var nf90_inq_dimid nf90_inq_dimid proc~limit_read_tot->nf90_inq_dimid nf90_get_att nf90_get_att proc~limit_read_tot->nf90_get_att nf90_inq_varid nf90_inq_varid proc~limit_read_tot->nf90_inq_varid interface~xios_recv_field xios_recv_field proc~limit_read_tot->interface~xios_recv_field interface~scatter_omp scatter_omp proc~limit_read_tot->interface~scatter_omp proc~omp_barrier omp_barrier proc~init_synchro_omp->proc~omp_barrier proc~grid1dto2d_mpi_l->proc~grid1dto2d_mpi_lgen proc~gather_l gather_l interface~gather->proc~gather_l proc~gather_i gather_i interface~gather->proc~gather_i proc~gather_i3 gather_i3 interface~gather->proc~gather_i3 proc~gather_r1 gather_r1 interface~gather->proc~gather_r1 proc~gather_l3 gather_l3 interface~gather->proc~gather_l3 proc~gather_r3 gather_r3 interface~gather->proc~gather_r3 proc~gather_r gather_r interface~gather->proc~gather_r proc~gather_r2 gather_r2 interface~gather->proc~gather_r2 proc~gather_i1 gather_i1 interface~gather->proc~gather_i1 proc~gather_l2 gather_l2 interface~gather->proc~gather_l2 proc~gather_i2 gather_i2 interface~gather->proc~gather_i2 proc~gather_l1 gather_l1 interface~gather->proc~gather_l1 proc~grid1dto2d_mpi_l1->proc~grid1dto2d_mpi_lgen proc~synchro_omp->proc~abort_physic proc~esat esat proc~sens_heat_rain->proc~esat proc~grid1dto2d_mpi_i->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_rgen grid1dTo2d_mpi_rgen proc~grid1dto2d_mpi_r1->proc~grid1dto2d_mpi_rgen proc~limit_slab->proc~abort_physic proc~limit_slab->interface~scatter proc~limit_slab->interface~bcast proc~limit_slab->nf90_open proc~limit_slab->nf90_close proc~limit_slab->nf90_get_var proc~limit_slab->nf90_inq_varid proc~sisvat_qso SISVAT_qSo proc~inlandsis->proc~sisvat_qso proc~snoptp SnOptP proc~inlandsis->proc~snoptp proc~sisvat_qsn SISVAT_qSn proc~inlandsis->proc~sisvat_qsn proc~sisvat_zsn SISVAT_zSn proc~inlandsis->proc~sisvat_zsn proc~sisvat_gsn SISVAT_GSn proc~inlandsis->proc~sisvat_gsn proc~sisvat_bsn SISVAT_BSn proc~inlandsis->proc~sisvat_bsn proc~sisvat_tso SISVAT_TSo proc~inlandsis->proc~sisvat_tso proc~sisvat_ts2 SISVAT_TS2 proc~inlandsis->proc~sisvat_ts2 proc~cpl_send_seaice_fields->proc~abort_physic proc~cpl_send_seaice_fields->proc~gath2cpl proc~grid1dto2d_mpi_i1->proc~grid1dto2d_mpi_igen proc~grid1dto2d_mpi_l2->proc~grid1dto2d_mpi_lgen proc~bcast_i4 bcast_i4 interface~bcast->proc~bcast_i4 proc~bcast_r bcast_r interface~bcast->proc~bcast_r proc~bcast_r2 bcast_r2 interface~bcast->proc~bcast_r2 proc~bcast_r1 bcast_r1 interface~bcast->proc~bcast_r1 proc~bcast_l2 bcast_l2 interface~bcast->proc~bcast_l2 proc~bcast_r3 bcast_r3 interface~bcast->proc~bcast_r3 proc~bcast_i bcast_i interface~bcast->proc~bcast_i proc~bcast_i1 bcast_i1 interface~bcast->proc~bcast_i1 proc~bcast_r4 bcast_r4 interface~bcast->proc~bcast_r4 proc~bcast_l1 bcast_l1 interface~bcast->proc~bcast_l1 proc~bcast_l4 bcast_l4 interface~bcast->proc~bcast_l4 proc~bcast_c bcast_c interface~bcast->proc~bcast_c proc~bcast_i3 bcast_i3 interface~bcast->proc~bcast_i3 proc~bcast_l bcast_l interface~bcast->proc~bcast_l proc~bcast_l3 bcast_l3 interface~bcast->proc~bcast_l3 proc~bcast_i2 bcast_i2 interface~bcast->proc~bcast_i2 proc~grid1dto2d_mpi_r->proc~grid1dto2d_mpi_rgen proc~near_surface->proc~therm_expans proc~phiw Phiw proc~near_surface->proc~phiw proc~grid1dto2d_mpi_i3->proc~grid1dto2d_mpi_igen proc~cpl_send_ocean_fields->proc~abort_physic proc~cpl_send_ocean_fields->proc~gath2cpl proc~grid1dto2d_mpi_r3->proc~grid1dto2d_mpi_rgen proc~fv fV proc~microlayer->proc~fv proc~grid1dto2d_mpi_r2->proc~grid1dto2d_mpi_rgen proc~enddef_restartphy enddef_restartphy proc~sisvatredem->proc~enddef_restartphy interface~put_field put_field proc~sisvatredem->interface~put_field proc~close_restartphy close_restartphy proc~sisvatredem->proc~close_restartphy proc~open_restartphy open_restartphy proc~sisvatredem->proc~open_restartphy proc~gather_l->interface~gather_omp interface~gather_mpi gather_mpi proc~gather_l->interface~gather_mpi interface~bcast_omp bcast_omp proc~bcast_i4->interface~bcast_omp interface~bcast_mpi bcast_mpi proc~bcast_i4->interface~bcast_mpi proc~bcast_r->interface~bcast_omp proc~bcast_r->interface~bcast_mpi nf90_enddef nf90_enddef proc~enddef_restartphy->nf90_enddef proc~gather_i->interface~gather_omp proc~gather_i->interface~gather_mpi proc~bcast_r2->interface~bcast_omp proc~bcast_r2->interface~bcast_mpi proc~bcast_r1->interface~bcast_omp proc~bcast_r1->interface~bcast_mpi proc~scatter_i1->interface~scatter_omp interface~scatter_mpi scatter_mpi proc~scatter_i1->interface~scatter_mpi proc~scatter_r->interface~scatter_omp proc~scatter_r->interface~scatter_mpi proc~scatter_r2->interface~scatter_omp proc~scatter_r2->interface~scatter_mpi proc~scatter_l2->interface~scatter_omp proc~scatter_l2->interface~scatter_mpi proc~gather_i3->interface~gather_omp proc~gather_i3->interface~gather_mpi proc~gather_r1->interface~gather_omp proc~gather_r1->interface~gather_mpi proc~gather_l3->interface~gather_omp proc~gather_l3->interface~gather_mpi proc~albedo_kokhanovsky albedo_kokhanovsky proc~snoptp->proc~albedo_kokhanovsky proc~bcast_l2->interface~bcast_omp proc~bcast_l2->interface~bcast_mpi proc~mpi_allgather->proc~lmdz_mpi_wrapper_abort proc~sisvat_zag SISVAT_zAg proc~sisvat_zsn->proc~sisvat_zag proc~sisvat_zcr SISVAT_zCr proc~sisvat_zsn->proc~sisvat_zcr proc~bcast_r3->interface~bcast_omp proc~bcast_r3->interface~bcast_mpi proc~gather_r3->interface~gather_omp proc~gather_r3->interface~gather_mpi proc~bcast_i->interface~bcast_omp proc~bcast_i->interface~bcast_mpi proc~bcast_i1->interface~bcast_omp proc~bcast_i1->interface~bcast_mpi proc~bcast_r4->interface~bcast_omp proc~bcast_r4->interface~bcast_mpi proc~bcast_l1->interface~bcast_omp proc~bcast_l1->interface~bcast_mpi proc~close_restartphy->nf90_close proc~scatter_i2->interface~scatter_omp proc~scatter_i2->interface~scatter_mpi proc~gather_r->interface~gather_omp proc~gather_r->interface~gather_mpi proc~bcast_l4->interface~bcast_omp proc~bcast_l4->interface~bcast_mpi proc~scatter_l1->interface~scatter_omp proc~scatter_l1->interface~scatter_mpi proc~gather_r2->interface~gather_omp proc~gather_r2->interface~gather_mpi proc~bcast_c->interface~bcast_omp proc~bcast_c->interface~bcast_mpi proc~bcast_i3->interface~bcast_omp proc~bcast_i3->interface~bcast_mpi proc~bcast_l->interface~bcast_omp proc~bcast_l->interface~bcast_mpi proc~open_restartphy->proc~abort_physic nf90_create nf90_create proc~open_restartphy->nf90_create nf90_strerror nf90_strerror proc~open_restartphy->nf90_strerror nf90_put_att nf90_put_att proc~open_restartphy->nf90_put_att nf90_def_dim nf90_def_dim proc~open_restartphy->nf90_def_dim proc~scatter_r3->interface~scatter_omp proc~scatter_r3->interface~scatter_mpi proc~open_startphy->proc~abort_physic proc~open_startphy->nf90_open proc~gather_i1->interface~gather_omp proc~gather_i1->interface~gather_mpi proc~gather_l2->interface~gather_omp proc~gather_l2->interface~gather_mpi proc~bcast_l3->interface~bcast_omp proc~bcast_l3->interface~bcast_mpi proc~scatter_i->interface~scatter_omp proc~scatter_i->interface~scatter_mpi proc~scatter_i3->interface~scatter_omp proc~scatter_i3->interface~scatter_mpi proc~scatter_r1->interface~scatter_omp proc~scatter_r1->interface~scatter_mpi proc~scatter_l->interface~scatter_omp proc~scatter_l->interface~scatter_mpi proc~xios_recv_field_4d xios_recv_field_4d interface~xios_recv_field->proc~xios_recv_field_4d proc~xios_recv_field_1d xios_recv_field_1d interface~xios_recv_field->proc~xios_recv_field_1d proc~xios_recv_field_2d xios_recv_field_2d interface~xios_recv_field->proc~xios_recv_field_2d proc~xios_recv_field_3d xios_recv_field_3d interface~xios_recv_field->proc~xios_recv_field_3d proc~xios_recv_field_scalar xios_recv_field_scalar interface~xios_recv_field->proc~xios_recv_field_scalar proc~bcast_i2->interface~bcast_omp proc~bcast_i2->interface~bcast_mpi proc~gather_i2->interface~gather_omp proc~gather_i2->interface~gather_mpi proc~gather_l1->interface~gather_omp proc~gather_l1->interface~gather_mpi dqsatl dqsatl proc~sisvat_ts2->dqsatl dqsats dqsats proc~sisvat_ts2->dqsats qsats qsats proc~sisvat_ts2->qsats foede foede proc~sisvat_ts2->foede foeew foeew proc~sisvat_ts2->foeew qsatl qsatl proc~sisvat_ts2->qsatl proc~scatter_l3->interface~scatter_omp proc~scatter_l3->interface~scatter_mpi proc~scatter_mpi_i1 scatter_mpi_i1 interface~scatter_mpi->proc~scatter_mpi_i1 proc~scatter_mpi_r3 scatter_mpi_r3 interface~scatter_mpi->proc~scatter_mpi_r3 proc~scatter_mpi_r1 scatter_mpi_r1 interface~scatter_mpi->proc~scatter_mpi_r1 proc~scatter_mpi_l3 scatter_mpi_l3 interface~scatter_mpi->proc~scatter_mpi_l3 proc~scatter_mpi_l scatter_mpi_l interface~scatter_mpi->proc~scatter_mpi_l proc~scatter_mpi_l1 scatter_mpi_l1 interface~scatter_mpi->proc~scatter_mpi_l1 proc~scatter_mpi_i scatter_mpi_i interface~scatter_mpi->proc~scatter_mpi_i proc~scatter_mpi_r2 scatter_mpi_r2 interface~scatter_mpi->proc~scatter_mpi_r2 proc~scatter_mpi_i3 scatter_mpi_i3 interface~scatter_mpi->proc~scatter_mpi_i3 proc~scatter_mpi_i2 scatter_mpi_i2 interface~scatter_mpi->proc~scatter_mpi_i2 proc~scatter_mpi_l2 scatter_mpi_l2 interface~scatter_mpi->proc~scatter_mpi_l2 proc~scatter_mpi_r scatter_mpi_r interface~scatter_mpi->proc~scatter_mpi_r proc~gather_mpi_i3 gather_mpi_i3 interface~gather_mpi->proc~gather_mpi_i3 proc~gather_mpi_l2 gather_mpi_l2 interface~gather_mpi->proc~gather_mpi_l2 proc~gather_mpi_i1 gather_mpi_i1 interface~gather_mpi->proc~gather_mpi_i1 proc~gather_mpi_r3 gather_mpi_r3 interface~gather_mpi->proc~gather_mpi_r3 proc~gather_mpi_r1 gather_mpi_r1 interface~gather_mpi->proc~gather_mpi_r1 proc~gather_mpi_i gather_mpi_i interface~gather_mpi->proc~gather_mpi_i proc~gather_mpi_r2 gather_mpi_r2 interface~gather_mpi->proc~gather_mpi_r2 proc~gather_mpi_r gather_mpi_r interface~gather_mpi->proc~gather_mpi_r proc~gather_mpi_l3 gather_mpi_l3 interface~gather_mpi->proc~gather_mpi_l3 proc~gather_mpi_i2 gather_mpi_i2 interface~gather_mpi->proc~gather_mpi_i2 proc~gather_mpi_l gather_mpi_l interface~gather_mpi->proc~gather_mpi_l proc~gather_mpi_l1 gather_mpi_l1 interface~gather_mpi->proc~gather_mpi_l1 proc~bcast_mpi_c bcast_mpi_c interface~bcast_mpi->proc~bcast_mpi_c proc~bcast_mpi_l4 bcast_mpi_l4 interface~bcast_mpi->proc~bcast_mpi_l4 proc~bcast_mpi_i bcast_mpi_i interface~bcast_mpi->proc~bcast_mpi_i proc~bcast_mpi_i1 bcast_mpi_i1 interface~bcast_mpi->proc~bcast_mpi_i1 proc~bcast_mpi_l bcast_mpi_l interface~bcast_mpi->proc~bcast_mpi_l proc~bcast_mpi_l3 bcast_mpi_l3 interface~bcast_mpi->proc~bcast_mpi_l3 proc~bcast_mpi_r3 bcast_mpi_r3 interface~bcast_mpi->proc~bcast_mpi_r3 proc~bcast_mpi_i4 bcast_mpi_i4 interface~bcast_mpi->proc~bcast_mpi_i4 proc~bcast_mpi_i3 bcast_mpi_i3 interface~bcast_mpi->proc~bcast_mpi_i3 proc~bcast_mpi_r1 bcast_mpi_r1 interface~bcast_mpi->proc~bcast_mpi_r1 proc~bcast_mpi_l1 bcast_mpi_l1 interface~bcast_mpi->proc~bcast_mpi_l1 proc~bcast_mpi_r2 bcast_mpi_r2 interface~bcast_mpi->proc~bcast_mpi_r2 proc~bcast_mpi_r4 bcast_mpi_r4 interface~bcast_mpi->proc~bcast_mpi_r4 proc~bcast_mpi_r bcast_mpi_r interface~bcast_mpi->proc~bcast_mpi_r proc~bcast_mpi_l2 bcast_mpi_l2 interface~bcast_mpi->proc~bcast_mpi_l2 proc~bcast_mpi_i2 bcast_mpi_i2 interface~bcast_mpi->proc~bcast_mpi_i2 proc~scatter_mpi_igen scatter_mpi_igen proc~scatter_mpi_i1->proc~scatter_mpi_igen proc~gather_mpi_igen gather_mpi_igen proc~gather_mpi_i3->proc~gather_mpi_igen proc~bcast_mpi_cgen bcast_mpi_cgen proc~bcast_mpi_c->proc~bcast_mpi_cgen proc~bcast_mpi_lgen bcast_mpi_lgen proc~bcast_mpi_l4->proc~bcast_mpi_lgen proc~scatter_mpi_rgen scatter_mpi_rgen proc~scatter_mpi_r3->proc~scatter_mpi_rgen proc~gather_mpi_lgen gather_mpi_lgen proc~gather_mpi_l2->proc~gather_mpi_lgen proc~gather_mpi_i1->proc~gather_mpi_igen proc~bcast_mpi_igen bcast_mpi_igen proc~bcast_mpi_i->proc~bcast_mpi_igen proc~bcast_mpi_i1->proc~bcast_mpi_igen proc~bcast_mpi_l->proc~bcast_mpi_lgen proc~scatter_mpi_r1->proc~scatter_mpi_rgen proc~gather_mpi_rgen gather_mpi_rgen proc~gather_mpi_r3->proc~gather_mpi_rgen proc~bcast_mpi_l3->proc~bcast_mpi_lgen proc~gather_mpi_r1->proc~gather_mpi_rgen proc~scatter_mpi_lgen scatter_mpi_lgen proc~scatter_mpi_l3->proc~scatter_mpi_lgen proc~scatter_mpi_l->proc~scatter_mpi_lgen proc~gather_mpi_i->proc~gather_mpi_igen proc~bcast_mpi_rgen bcast_mpi_rgen proc~bcast_mpi_r3->proc~bcast_mpi_rgen proc~gather_mpi_r2->proc~gather_mpi_rgen proc~bcast_mpi_i4->proc~bcast_mpi_igen proc~gather_mpi_r->proc~gather_mpi_rgen proc~bcast_mpi_i3->proc~bcast_mpi_igen proc~bcast_mpi_r1->proc~bcast_mpi_rgen proc~scatter_mpi_l1->proc~scatter_mpi_lgen proc~gather_mpi_l3->proc~gather_mpi_lgen proc~bcast_mpi_l1->proc~bcast_mpi_lgen proc~scatter_mpi_i->proc~scatter_mpi_igen proc~scatter_mpi_r2->proc~scatter_mpi_rgen proc~gather_mpi_i2->proc~gather_mpi_igen proc~bcast_mpi_r2->proc~bcast_mpi_rgen proc~scatter_mpi_i3->proc~scatter_mpi_igen proc~gather_mpi_l->proc~gather_mpi_lgen proc~bcast_mpi_r4->proc~bcast_mpi_rgen proc~scatter_mpi_i2->proc~scatter_mpi_igen proc~scatter_mpi_l2->proc~scatter_mpi_lgen proc~gather_mpi_l1->proc~gather_mpi_lgen proc~bcast_mpi_r->proc~bcast_mpi_rgen proc~bcast_mpi_l2->proc~bcast_mpi_lgen proc~bcast_mpi_i2->proc~bcast_mpi_igen proc~scatter_mpi_r->proc~scatter_mpi_rgen proc~mpi_bcast MPI_BCAST proc~bcast_mpi_cgen->proc~mpi_bcast proc~mpi_gatherv MPI_GATHERV proc~gather_mpi_lgen->proc~mpi_gatherv proc~bcast_mpi_igen->proc~mpi_bcast proc~bcast_mpi_lgen->proc~mpi_bcast proc~mpi_scatterv MPI_SCATTERV proc~scatter_mpi_rgen->proc~mpi_scatterv proc~gather_mpi_igen->proc~mpi_gatherv proc~scatter_mpi_lgen->proc~mpi_scatterv proc~bcast_mpi_rgen->proc~mpi_bcast proc~scatter_mpi_igen->proc~mpi_scatterv proc~gather_mpi_rgen->proc~mpi_gatherv proc~mpi_bcast->proc~lmdz_mpi_wrapper_abort proc~mpi_scatterv->proc~lmdz_mpi_wrapper_abort proc~mpi_gatherv->proc~lmdz_mpi_wrapper_abort

Contents