- Timestamp:
- Nov 10, 2000, 11:51:05 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r152 r158 77 77 parameter (ocean = 'force ') 78 78 c parameter (ocean = 'couple') 79 c====================================================================== 80 c ok_ocean indique l'utilisation du modele oceanique "slab ocean", 81 c il faut bien sur s'assurer que le bilan energetique de reference 82 c a la surface de l'ocean est bien present dans le fichier des 83 c conditions aux limites, ainsi que l'indicateur du sol ne contient 84 c pas de glace oceanique (pas de valeur 3). 85 c 86 LOGICAL ok_ocean 87 PARAMETER (ok_ocean=.FALSE.) 88 REAL cyang ! capacite thermique de l'ocean superficiel 89 PARAMETER (cyang=30.0 * 4.228e+06) 90 REAL cbing ! capacite thermique de la glace oceanique 91 PARAMETER (cbing=1.0 * 4.228e+06) 92 REAL cthermiq 79 logical ok_ocean 93 80 c====================================================================== 94 81 c Clef controlant l'activation du cycle diurne: … … 120 107 c 121 108 LOGICAL ok_mensuel ! sortir le fichier mensuel 122 PARAMETER (ok_mensuel=. TRUE.)109 PARAMETER (ok_mensuel=.true.) 123 110 c 124 111 LOGICAL ok_instan ! sortir le fichier instantane … … 273 260 SAVE zuthe 274 261 SAVE zvthe 275 INTEGER igwd,i gwdim,idx(klon),itest(klon)262 INTEGER igwd,idx(klon),itest(klon) 276 263 c 277 264 REAL agesno(klon) 278 265 SAVE agesno ! age de la neige 279 266 c 280 REAL alb_neig(klon)281 SAVE alb_neig ! albedo de la neige282 267 c 283 268 c Variables locales: … … 305 290 REAL rain_fall(klon) ! pluie 306 291 REAL snow_fall(klon) ! neige 292 save snow_fall, rain_fall 307 293 REAL evap(klon), devap(klon) ! evaporation et sa derivee 308 294 REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee 309 295 REAL bils(klon) ! bilan de chaleur au sol 310 296 REAL fder(klon) ! Derive de flux (sensible et latente) 311 REAL ruis(klon) ! ruissellement297 save fder 312 298 REAL ve(klon) ! integr. verticale du transport meri. de l'energie 313 299 REAL vq(klon) ! integr. verticale du transport meri. de l'eau … … 316 302 c 317 303 REAL frugs(klon,nbsrf) ! longueur de rugosite 304 save frugs 318 305 REAL zxrugs(klon) ! longueur de rugosite 319 306 c … … 328 315 REAL pctsrf(klon,nbsrf) 329 316 SAVE pctsrf ! sous-fraction du sol 330 REAL lmt_bils(klon)331 SAVE lmt_bils ! bilan de chaleur au sol332 317 REAL albsol(klon) 333 318 SAVE albsol ! albedo du sol total … … 419 404 c 420 405 REAL za, zb 421 REAL zx_t, zx_qs, zdelta, zcor, z fra, zlvdcp, zlsdcp406 REAL zx_t, zx_qs, zdelta, zcor, zlvdcp, zlsdcp 422 407 INTEGER i, k, iq, nsrf, ll 423 408 REAL t_coup … … 545 530 c 546 531 532 frugs = 0. 547 533 itap = 0 548 534 itaprad = 0 … … 777 763 END DO 778 764 779 CALL histdef(nid_day, "ruis", "Runoff", "mm/day",780 . iim,jjmp1,nhori, 1,1,1, -99, 32,781 . "ave(X)", zsto,zout)782 c783 765 CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-", 784 766 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 993 975 END DO 994 976 C 995 CALL histdef(nid_mth, "ruis", "Runoff", "mm/day",996 . iim,jjmp1,nhori, 1,1,1, -99, 32,997 . "ave(X)", zsto,zout)998 c999 977 CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-", 1000 978 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 1840 1818 IF (MOD(itaprad,radpas).EQ.0) THEN 1841 1819 DO i = 1, klon 1842 falbe(i,is_sic) = alb_neig(i)*zfra + 0.6*(1.0-zfra)1843 1820 albsol(i) = falbe(i,is_oce) * pctsrf(i,is_oce) 1844 1821 . + falbe(i,is_lic) * pctsrf(i,is_lic) … … 1898 1875 bils(i) = radsol(i) - sens(i) - evap(i)*RLVTT 1899 1876 ENDDO 1900 IF (ok_ocean) THEN1901 DO i = 1, klon1902 cthermiq = cyang1903 IF (ftsol(i,is_oce).LT. 271.35) cthermiq = cbing1904 IF (pctsrf(i,is_oce).GT.epsfra) deltat(i) = deltat(i) +1905 . (bils(i)-lmt_bils(i))/cthermiq * dtime1906 IF (deltat(i).GT.15.0 ) deltat(i) = 15.01907 IF (deltat(i).LT.-15.0) deltat(i) = -15.01908 ENDDO1909 ENDIF1910 1877 c 1911 1878 cmoddeblott(jan95) … … 1926 1893 ENDIF 1927 1894 ENDDO 1928 igwdim=MAX(1,igwd)1895 c igwdim=MAX(1,igwd) 1929 1896 c 1930 1897 CALL drag_noro(klon,klev,dtime,paprs,pplay, 1931 1898 e zmea,zstd, zsig, zgam, zthe,zpic,zval, 1932 e igwd,i gwdim,idx,itest,1899 e igwd,idx,itest, 1933 1900 e t_seri, u_seri, v_seri, 1934 1901 s zulow, zvlow, zustr, zvstr, … … 1958 1925 ENDIF 1959 1926 ENDDO 1960 igwdim=MAX(1,igwd)1927 c igwdim=MAX(1,igwd) 1961 1928 c 1962 1929 CALL lift_noro(klon,klev,dtime,paprs,pplay, 1963 e rlat,zmea,zstd, zsig, zgam, zthe,zpic,zval,1964 e i gwd,igwdim,idx,itest,1930 e rlat,zmea,zstd,zpic, 1931 e itest, 1965 1932 e t_seri, u_seri, v_seri, 1966 1933 s zulow, zvlow, zustr, zvstr, … … 2029 1996 c Champs 2D: 2030 1997 c 1998 zsto = dtime 1999 zout = dtime * FLOAT(ecrit_day) 2000 2031 2001 i = NINT(zout/zsto) 2032 2002 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) … … 2096 2066 CALL histwrite(nid_day,"fder",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2097 2067 c 2098 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ruis,zx_tmp_2d)2099 CALL histwrite(nid_day,"ruis",itap,zx_tmp_2d,iim*jjmp1,ndex2d)2100 c2101 c DO i = 1, klon2102 c zx_tmp_fi2d(i) = fluxu(i,1)2103 c ENDDO2104 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)2105 c CALL histwrite(nid_day,"frtu",itap,zx_tmp_2d,iim*jjmp1,ndex2d)2106 c2107 c DO i = 1, klon2108 c zx_tmp_fi2d(i) = fluxv(i,1)2109 c ENDDO2110 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)2111 c CALL histwrite(nid_day,"frtv",itap,zx_tmp_2d,iim*jjmp1,ndex2d)2112 2068 c 2113 2069 DO nsrf = 1, nbsrf … … 2203 2159 c Champs 2D: 2204 2160 c 2161 zsto = dtime 2162 zout = dtime * ecrit_mth 2163 2205 2164 i = NINT(zout/zsto) 2206 2165 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) … … 2283 2242 CALL histwrite(nid_mth,"fder",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2284 2243 c 2285 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ruis,zx_tmp_2d)2286 CALL histwrite(nid_mth,"ruis",itap,zx_tmp_2d,iim*jjmp1,ndex2d)2287 2244 c 2288 2245 c DO i = 1, klon … … 2533 2490 c Champs 2D: 2534 2491 c 2492 zsto = dtime * ecrit_ins 2493 zout = dtime * ecrit_ins 2494 2535 2495 i = NINT(zout/zsto) 2536 2496 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) … … 2783 2743 REAL fi(nlon,nfield), ecrit(iim*jjmp1,nfield) 2784 2744 c 2785 INTEGER i, j,n, ig2745 INTEGER i, n, ig 2786 2746 c 2787 2747 jjm = jjmp1 - 1
Note: See TracChangeset
for help on using the changeset viewer.