--- trunk/Sources/dyn3d/Guide/guide.f 2015/09/30 15:59:14 172 +++ trunk/Sources/dyn3d/Guide/guide.f 2016/12/13 16:02:23 210 @@ -1,7 +1,7 @@ MODULE guide_m - ! From dyn3d/guide.F, version 1.3 2005/05/25 13:10:09 - ! and dyn3d/guide.h, version 1.1.1.1 2004/05/19 12:53:06 + ! From dyn3d/guide.F, version 1.3, 2005/05/25 13:10:09 + ! and dyn3d/guide.h, version 1.1.1.1, 2004/05/19 12:53:06 IMPLICIT NONE @@ -9,20 +9,19 @@ SUBROUTINE guide(itau, ucov, vcov, teta, q, ps) - ! Author: F.Hourdin + ! Author: F. Hourdin USE comconst, ONLY: cpp, kappa USE conf_gcm_m, ONLY: day_step - use conf_guide_m, only: guide_u, guide_v, guide_t, guide_q, ncep, & - ini_anal, tau_min_u, tau_max_u, tau_min_v, tau_max_v, tau_min_t, & - tau_max_t, tau_min_q, tau_max_q, online, factt + use conf_guide_m, only: guide_u, guide_v, guide_t, guide_q, ini_anal, & + tau_min_u, tau_max_u, tau_min_v, tau_max_v, tau_min_t, tau_max_t, & + tau_min_q, tau_max_q, online, factt USE dimens_m, ONLY: iim, jjm, llm USE disvert_m, ONLY: ap, bp, preff use dynetat0_m, only: grossismx, grossismy, rlatu, rlatv USE exner_hyb_m, ONLY: exner_hyb use init_tau2alpha_m, only: init_tau2alpha - use nr_util, only: pi - USE paramet_m, ONLY: iip1, ip1jmp1, jjp1, llmp1 + USE paramet_m, ONLY: iip1, jjp1 USE q_sat_m, ONLY: q_sat use read_reanalyse_m, only: read_reanalyse use tau2alpha_m, only: tau2alpha @@ -40,19 +39,23 @@ ! Local: - ! variables dynamiques pour les réanalyses + ! Variables dynamiques pour les réanalyses REAL, save:: ucovrea1(iim + 1, jjm + 1, llm), vcovrea1(iim + 1, jjm, llm) - ! vents covariants reanalyses + ! vents covariants r\'eanalyses - REAL, save:: tetarea1(iim + 1, jjm + 1, llm) ! temp pot reales - REAL, save:: qrea1(iim + 1, jjm + 1, llm) ! temp pot reales + REAL, save:: tetarea1(iim + 1, jjm + 1, llm) + ! potential temperture from reanalysis + + REAL, save:: qrea1(iim + 1, jjm + 1, llm) REAL, save:: ucovrea2(iim + 1, jjm + 1, llm), vcovrea2(iim + 1, jjm, llm) ! vents covariants reanalyses - REAL, save:: tetarea2(iim + 1, jjm + 1, llm) ! temp pot reales - REAL, save:: qrea2(iim + 1, jjm + 1, llm) ! temp pot reales + REAL, save:: tetarea2(iim + 1, jjm + 1, llm) + ! potential temperture from reanalysis + + REAL, save:: qrea2(iim + 1, jjm + 1, llm) ! alpha détermine la part des injections de données à chaque étape ! alpha=0 signifie pas d'injection @@ -65,7 +68,7 @@ REAL tau ! TEST SUR QSAT - REAL p(iim + 1, jjm + 1, llmp1) + REAL p(iim + 1, jjm + 1, llm + 1) real pk(iim + 1, jjm + 1, llm), pks(iim + 1, jjm + 1) REAL qsat(iim + 1, jjm + 1, llm) @@ -77,10 +80,10 @@ IF (online) THEN IF (abs(grossismx - 1.) < 0.1 .OR. abs(grossismy - 1.) < 0.1) THEN ! grille regulière - if (guide_u) alpha_u = factt / tau_max_u - if (guide_v) alpha_v = factt / tau_max_v - if (guide_t) alpha_t = factt / tau_max_t - if (guide_q) alpha_q = factt / tau_max_q + if (guide_u) alpha_u = 1. - exp(- factt / tau_max_u) + if (guide_v) alpha_v = 1. - exp(- factt / tau_max_v) + if (guide_t) alpha_t = 1. - exp(- factt / tau_max_t) + if (guide_q) alpha_q = 1. - exp(- factt / tau_max_q) else call init_tau2alpha(dxdys, dxdyu, dxdyv)