Changeset 199 for LMDZ.3.3/trunk/libf
- Timestamp:
- Apr 2, 2001, 11:12:13 AM (24 years ago)
- Location:
- LMDZ.3.3/trunk/libf/phylmd
- Files:
-
- 8 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/trunk/libf/phylmd/condsurf.F
r40 r199 1 c $Header 2 c 1 3 SUBROUTINE condsurf( jour, jourvrai, pctsrf, 2 4 s lmt_sst,lmt_alb,lmt_rug,lmt_bils ) -
LMDZ.3.3/trunk/libf/phylmd/fisrtilp_tr.F
r60 r199 1 SUBROUTINE fisrtilp_tr(dtime,paprs,pplay,t,q, 1 c $Header 2 c 3 SUBROUTINE fisrtilp_tr(dtime,paprs,pplay,t,q,ratqs, 2 4 s d_t, d_q, d_ql, rneb, radliq, rain, snow, 3 5 s pfrac_impa, pfrac_nucl, pfrac_1nucl, … … 66 68 PARAMETER (coef_eva=2.0E-05) 67 69 LOGICAL calcrat ! calculer ratqs au lieu de fixer sa valeur 68 REAL ratqs ! determine la largeur de distribution de vapeur70 REAL ratqs(klon,klev) ! determine la largeur de distribution de vapeur 69 71 PARAMETER (calcrat=.TRUE.) 70 72 REAL zx_min, rat_max … … 281 283 DO i = 1, klon 282 284 c 283 zx = pplay(i,k)/paprs(i,1) 284 zx = (zx_max-zx)/(zx_max-zx_min) 285 zx = MIN(MAX(zx,0.0),1.0) 286 zx = zx * zx * zx 287 ratqs = zx * (rat_max-rat_min) + rat_min 288 IF (.NOT.calcrat) ratqs=0.05 289 c 290 zdelq = ratqs * zq(i) 285 zdelq = ratqs(i,k) * zq(i) 291 286 rneb(i,k) = (zq(i)+zdelq-zqs(i)) / (2.0*zdelq) 292 287 zqn(i) = (zq(i)+zdelq+zqs(i))/2.0 -
LMDZ.3.3/trunk/libf/phylmd/physiq.F
r197 r199 1 c $Header 2 c 1 3 SUBROUTINE physiq (nlon,nlev,nqmax , 2 4 . debut,lafin,rjourvrai,rjour_ecri,gmtime,pdtphys, … … 273 275 REAL alb_neig(klon) 274 276 SAVE alb_neig ! albedo de la neige 277 cKE43 278 c Variables liees a la convection de K. Emanuel (sb): 279 c 280 REAL ema_workcbmf(klon) ! cloud base mass flux 281 SAVE ema_workcbmf 282 283 REAL ema_cbmf(klon) ! cloud base mass flux 284 SAVE ema_cbmf 285 286 REAL ema_pcb(klon) ! cloud base pressure 287 SAVE ema_pcb 288 289 REAL ema_pct(klon) ! cloud top pressure 290 SAVE ema_pct 291 292 REAL bas, top ! cloud base and top levels 293 SAVE bas 294 SAVE top 295 296 REAL Ma(klon,klev) ! undilute upward mass flux 297 SAVE Ma 298 REAL ema_work1(klon, klev), ema_work2(klon, klev) 299 SAVE ema_work1, ema_work2 300 REAL wdn(klon), tdn(klon), qdn(klon) 301 c Variables locales pour la couche limite (al1): 302 c 303 cAl1 REAL pblh(klon) ! Hauteur de couche limite 304 cAl1 SAVE pblh 305 c34EK 275 306 c 276 307 c Variables locales: … … 346 377 EXTERNAL condsurf ! lire les conditions aux limites 347 378 EXTERNAL conlmd ! convection (schema LMD) 379 cKE43 380 EXTERNAL conema ! convect4.3 348 381 EXTERNAL fisrtilp ! schema de condensation a grande echelle (pluie) 349 382 cAA … … 425 458 REAL zx_relief(iim,jjmp1) 426 459 REAL zx_aire(iim,jjmp1) 460 cKE43 461 c Variables locales pour la convection de K. Emanuel (sb): 462 c 463 REAL upwd(klon,klev) ! saturated updraft mass flux 464 REAL dnwd(klon,klev) ! saturated downdraft mass flux 465 REAL dnwd0(klon,klev) ! unsaturated downdraft mass flux 466 REAL tvp(klon,klev) ! virtual temp of lifted parcel 467 REAL cape(klon) ! CAPE 468 SAVE cape 469 REAL pbase(klon) ! cloud base pressure 470 SAVE pbase 471 REAL bbase(klon) ! cloud base buoyancy 472 SAVE bbase 473 REAL rflag(klon) ! flag fonctionnement de convect 474 c -- convect43: 475 INTEGER ntra ! nb traceurs pour convect4.3 476 REAL pori_con(klon) ! pressure at the origin level of lifted parcel 477 REAL plcl_con(klon),dtma_con(klon),dtlcl_con(klon) 478 REAL dtvpdt1(klon,klev), dtvpdq1(klon,klev) 479 REAL dplcldt(klon), dplcldr(klon) 480 c? . condm_con(klon,klev),conda_con(klon,klev), 481 c? . mr_con(klon,klev),ep_con(klon,klev) 482 c? . ,sadiab(klon,klev),wadiab(klon,klev) 483 c -- 484 c34EK 427 485 c 428 486 c Variables du changement … … 459 517 REAL d_u_lif(klon,klev), d_v_lif(klon,klev) 460 518 REAL d_t_lif(klon,klev) 519 520 REAL ratqs(klon,klev) 521 LOGICAL zpt_conv(klon,klev) 522 461 523 c 462 524 c Variables liees a l'ecriture de la bande histoire physique … … 627 689 PRINT*, "Clef pour la convection, iflag_con=", iflag_con 628 690 c 691 cKE43 692 c Initialisation pour la convection de K.E. (sb): 693 IF (iflag_con.EQ.4) THEN 694 695 PRINT*, "*** Convection de Kerry Emanuel 4.3 " 696 PRINT*, "On va utiliser le melange convectif des traceurs qui" 697 PRINT*, "est calcule dans convect4.3" 698 PRINT*, " !!! penser aux logical flags de phytrac" 699 700 DO i = 1, klon 701 ema_cbmf(i) = 0. 702 ema_pcb(i) = 0. 703 ema_pct(i) = 0. 704 ema_workcbmf(i) = 0. 705 ENDDO 706 ENDIF 707 c34EK 629 708 IF (ok_orodr) THEN 630 709 DO i=1,klon … … 1006 1085 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1007 1086 . "ave(X)", zsto,zout) 1087 cKE43 1088 IF (iflag_con .EQ. 4) THEN ! sb 1089 c 1090 CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/Kg", 1091 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1092 . "ave(X)", zsto,zout) 1093 c 1094 CALL histdef(nid_mth, "pbase", "Cld base pressure", "hPa", 1095 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1096 . "ave(X)", zsto,zout) 1097 c 1098 CALL histdef(nid_mth, "ptop", "Cld top pressure", "hPa", 1099 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1100 . "ave(X)", zsto,zout) 1101 c 1102 CALL histdef(nid_mth, "fbase", "Cld base mass flux", "Kg/m2/s", 1103 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1104 . "ave(X)", zsto,zout) 1105 c 1106 c 1107 ENDIF 1108 c34EK 1008 1109 c 1009 1110 c Champs 3D: … … 1088 1189 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1089 1190 . "ave(X)", zsto,zout) 1191 1192 CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ", 1193 . iim,jjm+1,nhori, klev,1,klev,nvert, 32, 1194 . "ave(X)", zsto,zout) 1195 1196 CALL histdef(nid_mth, "ratqs", "RATQS"," ", 1197 . iim,jjm+1,nhori, klev,1,klev,nvert, 32, 1198 . "ave(X)", zsto,zout) 1199 1090 1200 c 1091 1201 CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s", … … 1160 1270 ENDIF 1161 1271 c 1272 cKE43 1273 IF (iflag_con.EQ.4) THEN ! (sb) 1274 c 1275 CALL histdef(nid_mth, "upwd", "saturated updraft", "Kg/m2/s", 1276 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1277 . "ave(X)", zsto,zout) 1278 c 1279 CALL histdef(nid_mth, "dnwd", "saturated downdraft","Kg/m2/s", 1280 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1281 . "ave(X)", zsto,zout) 1282 c 1283 CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "Kg/m2/s", 1284 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1285 . "ave(X)", zsto,zout) 1286 c 1287 CALL histdef(nid_mth,"Ma","undilute adiab updraft","Kg/m2/s", 1288 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1289 . "ave(X)", zsto,zout) 1290 c 1291 c 1292 ENDIF 1293 c34EK 1162 1294 CALL histend(nid_mth) 1163 1295 c … … 1361 1493 IF (MOD(itap-1,lmt_pas) .EQ. 0) THEN 1362 1494 idayvrai = NINT(xjour) 1363 PRINT *,' PHYS cond julien ',julien,idayvrai 1495 PRINT *,' PHYS cond julien ',julien,idayvrai,ok_limitvrai 1364 1496 CALL condsurf(julien,idayvrai, pctsrf , 1365 1497 . lmt_sst,lmt_alb,lmt_rug,lmt_bils ) … … 1495 1627 DO i = 1, klon 1496 1628 zxtsol(i) = 0.0 1629 IF ( abs( pctsrf(i, is_ter) + pctsrf(i, is_lic) + 1630 $ pctsrf(i, is_oce) + pctsrf(i, is_sic) - 1.) .GT. EPSFRA) 1631 $ THEN 1632 WRITE(*,*) 'physiq : pb sous surface au point ', i, 1633 $ pctsrf(i, 1 : nbsrf) 1634 ENDIF 1497 1635 ENDDO 1498 1636 DO nsrf = 1, nbsrf … … 1507 1645 c 1508 1646 DO nsrf = 1, nbsrf 1509 DO i = 1, klon1510 IF (pctsrf(i,nsrf).LT.epsfra) ftsol(i,nsrf) = zxtsol(i)1511 ENDDO1647 DO i = 1, klon 1648 IF (pctsrf(i,nsrf) .LT. epsfra) ftsol(i,nsrf) = zxtsol(i) 1649 ENDDO 1512 1650 ENDDO 1513 1651 … … 1580 1718 c s d_t_con, d_q_con, 1581 1719 c s rain_con, snow_con, ibas_con, itop_con) 1720 cKE43 1721 ELSE IF (iflag_con.EQ.4) THEN 1722 c nb of tracers for the KE convection: 1723 if (nqmax .GE. 4) then 1724 ntra = nbtr 1725 else 1726 ntra = 1 1727 endif 1728 cke43 (arguments inutiles enleves => des SAVE dans conema43?) 1729 c$$$ CALL conema43(dtime,paprs,pplay,t_seri,q_seri, 1730 c$$$ $ u_seri,v_seri,tr_seri,nbtr, 1731 c$$$ . ema_workcbmf, 1732 c$$$ . d_t_con,d_q_con,d_u_con,d_v_con,d_tr, 1733 c$$$ . wdn, tdn, qdn, 1734 c$$$ . rain_con, snow_con, ibas_con, itop_con, 1735 c$$$ . upwd,dnwd,dnwd0,bas,top,Ma,cape,tvp,rflag, 1736 c$$$ . pbase 1737 c$$$ . ,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr, 1738 c$$$ . pori_con,plcl_con,dtma_con,dtlcl_con) 1739 CALL conema (dtime,paprs,pplay,t_seri,q_seri, 1740 $ u_seri,v_seri,tr_seri,nbtr, 1741 . ema_work1,ema_work2, 1742 . d_t_con,d_q_con,d_u_con,d_v_con,d_tr, 1743 c$$$ . wdn, tdn, qdn, 1744 . rain_con, snow_con, ibas_con, itop_con, 1745 . upwd,dnwd,dnwd0,bas,top,Ma,cape,tvp,rflag, 1746 . pbase 1747 . ,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr) 1748 c$$$ . pori_con,plcl_con,dtma_con,dtlcl_con) 1749 DO i = 1, klon 1750 ema_pcb(i) = pbase(i) 1751 ENDDO 1752 DO i = 1, klon 1753 ema_pct(i) = paprs(i,itop_con(i)) 1754 ENDDO 1755 DO i = 1, klon 1756 ema_cbmf(i) = ema_workcbmf(i) 1757 ENDDO 1582 1758 ELSE 1583 PRINT*, "iflag_con non-prevu", iflag_con1584 CALL abort1759 PRINT*, "iflag_con non-prevu", iflag_con 1760 CALL abort 1585 1761 ENDIF 1586 1762 CALL homogene(paprs, q_seri, d_q_con, u_seri,v_seri, 1587 1763 . d_u_con, d_v_con) 1588 1764 DO k = 1, klev 1589 DO i = 1, klon1590 t_seri(i,k) = t_seri(i,k) + d_t_con(i,k)1591 q_seri(i,k) = q_seri(i,k) + d_q_con(i,k)1592 u_seri(i,k) = u_seri(i,k) + d_u_con(i,k)1593 v_seri(i,k) = v_seri(i,k) + d_v_con(i,k)1594 ENDDO1765 DO i = 1, klon 1766 t_seri(i,k) = t_seri(i,k) + d_t_con(i,k) 1767 q_seri(i,k) = q_seri(i,k) + d_q_con(i,k) 1768 u_seri(i,k) = u_seri(i,k) + d_u_con(i,k) 1769 v_seri(i,k) = v_seri(i,k) + d_v_con(i,k) 1770 ENDDO 1595 1771 ENDDO 1596 1772 IF (check) THEN 1597 za = qcheck(klon,klev,paprs,q_seri,ql_seri,paire)1598 PRINT*, "aprescon=", za1599 zx_t = 0.01600 za = 0.01601 DO i = 1, klon1773 za = qcheck(klon,klev,paprs,q_seri,ql_seri,paire) 1774 PRINT*, "aprescon=", za 1775 zx_t = 0.0 1776 za = 0.0 1777 DO i = 1, klon 1602 1778 za = za + paire(i)/FLOAT(klon) 1603 1779 zx_t = zx_t + (rain_con(i)+snow_con(i))*paire(i)/FLOAT(klon) 1604 ENDDO1605 zx_t = zx_t/za*dtime1606 PRINT*, "Precip=", zx_t1780 ENDDO 1781 zx_t = zx_t/za*dtime 1782 PRINT*, "Precip=", zx_t 1607 1783 ENDIF 1608 1784 IF (zx_ajustq) THEN 1609 DO i = 1, klon1785 DO i = 1, klon 1610 1786 z_apres(i) = 0.0 1611 ENDDO1612 DO k = 1, klev1613 DO i = 1, klon1614 z_apres(i) = z_apres(i) + (q_seri(i,k)+ql_seri(i,k))1615 . 1616 ENDDO1617 ENDDO1618 DO i = 1, klon1619 z_factor(i) = (z_avant(i)-(rain_con(i)+snow_con(i))*dtime)1620 . 1621 ENDDO1622 DO k = 1, klev1623 DO i = 1, klon1624 IF (z_factor(i).GT.(1.0+1.0E-08) .OR.1625 . z_factor(i).LT.(1.0-1.0E-08)) THEN1626 q_seri(i,k) = q_seri(i,k) * z_factor(i)1627 ENDIF1628 ENDDO1629 ENDDO1787 ENDDO 1788 DO k = 1, klev 1789 DO i = 1, klon 1790 z_apres(i) = z_apres(i) + (q_seri(i,k)+ql_seri(i,k)) 1791 . *(paprs(i,k)-paprs(i,k+1))/RG 1792 ENDDO 1793 ENDDO 1794 DO i = 1, klon 1795 z_factor(i) = (z_avant(i)-(rain_con(i)+snow_con(i))*dtime) 1796 . /z_apres(i) 1797 ENDDO 1798 DO k = 1, klev 1799 DO i = 1, klon 1800 IF (z_factor(i).GT.(1.0+1.0E-08) .OR. 1801 . z_factor(i).LT.(1.0-1.0E-08)) THEN 1802 q_seri(i,k) = q_seri(i,k) * z_factor(i) 1803 ENDIF 1804 ENDDO 1805 ENDDO 1630 1806 ENDIF 1631 1807 zx_ajustq=.FALSE. … … 1633 1809 IF (nqmax.GT.2) THEN !--melange convectif de traceurs 1634 1810 c 1635 IF (iflag_con.NE.2) THEN 1636 PRINT*, "Pour l instant, seul conflx fonctionne avec traceurs" 1637 PRINT*,' Mettre iflag_con = 2 dans run.def et repasser !' 1638 CALL abort 1639 ENDIF 1811 IF (iflag_con .NE. 2 .AND. iflag_con .NE. 4 ) THEN 1812 PRINT*, 'Pour l instant, seul conflx fonctionne ', 1813 $ 'avec traceurs', iflag_con 1814 PRINT*,' Mettre iflag_con', 1815 $ ' = 2 ou 4 dans run.def et repasser' 1816 CALL abort 1817 ENDIF 1640 1818 c 1641 1819 ENDIF !--nqmax.GT.2 … … 1650 1828 ENDDO 1651 1829 ENDDO 1830 1831 c RATQS 1832 call calcratqs ( 1833 I paprs,pplay,q_seri,d_t_con,d_t_ajs 1834 O ,ratqs,zpt_conv) 1652 1835 c 1653 1836 c Appeler le processus de condensation a grande echelle … … 1655 1838 c 1656 1839 CALL fisrtilp_tr(dtime,paprs,pplay, 1657 . t_seri, q_seri, 1840 . t_seri, q_seri,ratqs, 1658 1841 . d_t_lsc, d_q_lsc, d_ql_lsc, rneb, cldliq, 1659 1842 . rain_lsc, snow_lsc, … … 1916 2099 c Calcul des tendances traceurs 1917 2100 c==================================================================== 2101 C Pascale : il faut quand meme apeller phytrac car il gere les sorties 2102 cKE43 des traceurs => il faut donc mettre des flags a .false. 2103 IF (iflag_con.EQ.4) THEN 2104 c on ajoute les tendances calculees par KE43 2105 DO iq=1, nqmax-2 ! Sandrine a -3 ??? 2106 DO k = 1, nlev 2107 DO i = 1, klon 2108 tr_seri(i,k,iq) = tr_seri(i,k,iq) + d_tr(i,k,iq) 2109 ENDDO 2110 ENDDO 2111 WRITE(iqn,'(i2.2)') iq 2112 CALL minmaxqfi(tr_seri(1,1,iq),0.,1.e33,'couche lim iq='//iqn) 2113 ENDDO 2114 CMAF modif pour garder info du nombre de traceurs auxquels 2115 C la physique s'applique 2116 ELSE 1918 2117 CMAF modif pour garder info du nombre de traceurs auxquels 1919 2118 C la physique s'applique 1920 2119 C 1921 2120 call phytrac (rnpb, 1922 I debut, 2121 I debut,lafin, 1923 2122 I nqmax-2, 1924 2123 I nlon,nlev,dtime, … … 1929 2128 I rlon,presnivs,paire,pphis, 1930 2129 O tr_seri) 2130 ENDIF 1931 2131 1932 2132 IF (offline) THEN … … 2239 2439 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d) 2240 2440 CALL histwrite(nid_mth,"vq",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2441 cKE43 2442 IF (iflag_con .EQ. 4) THEN ! sb 2443 c 2444 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d) 2445 CALL histwrite(nid_mth,"cape",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2446 c 2447 CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d) 2448 CALL histwrite(nid_mth,"pbase",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2449 c 2450 CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d) 2451 CALL histwrite(nid_mth,"ptop",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2452 c 2453 CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d) 2454 CALL histwrite(nid_mth,"fbase",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2455 c 2456 c 2457 ENDIF 2458 c34EK 2241 2459 c 2242 2460 c Champs 3D: … … 2321 2539 CALL histwrite(nid_mth,"dqeva",itap,zx_tmp_3d, 2322 2540 . iim*jjmp1*klev,ndex3d) 2541 c 2542 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, zpt_conv, zx_tmp_3d) 2543 CALL histwrite(nid_mth,"ptconv",itap,zx_tmp_3d, 2544 . iim*(jjm+1)*klev,ndex3d) 2545 c 2546 CALL gr_fi_ecrit(klev,klon,iim,jjm+1, ratqs, zx_tmp_3d) 2547 CALL histwrite(nid_mth,"ratqs",itap,zx_tmp_3d, 2548 . iim*(jjm+1)*klev,ndex3d) 2323 2549 c 2324 2550 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_ajs, zx_tmp_3d) … … 2392 2618 ENDDO 2393 2619 ENDIF 2620 cKE43 2621 IF (iflag_con.EQ.4) THEN ! (sb) 2622 c 2623 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d) 2624 CALL histwrite(nid_mth,"upwd",itap,zx_tmp_3d, 2625 . iim*jjmp1*klev,ndex3d) 2626 c 2627 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d) 2628 CALL histwrite(nid_mth,"dnwd",itap,zx_tmp_3d, 2629 . iim*jjmp1*klev,ndex3d) 2630 c 2631 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d) 2632 CALL histwrite(nid_mth,"dnwd0",itap,zx_tmp_3d, 2633 . iim*jjmp1*klev,ndex3d) 2634 c 2635 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d) 2636 CALL histwrite(nid_mth,"Ma",itap,zx_tmp_3d, 2637 . iim*jjmp1*klev,ndex3d) 2638 c 2639 c 2640 ENDIF 2641 c34EK 2394 2642 c 2395 2643 if (ok_sync) then -
LMDZ.3.3/trunk/libf/phylmd/phystokenc.F
r188 r199 1 c 2 c $Header 3 c 1 4 SUBROUTINE phystokenc ( 2 5 I nlon,nlev,pdtphys,rlon,rlat, -
LMDZ.3.3/trunk/libf/phylmd/phytrac.F
r53 r199 1 c 2 c $Header 3 c 1 4 SUBROUTINE phytrac (rnpb, 2 I debutphy, 5 I debutphy,lafin, 3 6 I nqmax, 4 7 I nlon,nlev,pdtphys, … … 52 55 real pphis(klon) 53 56 logical debutphy ! le flag de l'initialisation de la physique 57 logical lafin ! le flag de la fin de la physique 58 54 59 integer ll 55 60 c … … 282 287 enddo 283 288 END DO 289 290 open (99,file='starttrac',status='old', 291 . err=999,form='formatted') 292 read(99,*) (trs(i,1),i=1,klon) 293 999 close(99) 294 print*, 'apres starttrac' 295 284 296 c Initialisation de la fraction d'aerosols lessivee 285 297 c … … 536 548 if (ok_sync) call histsync(nid_tra) 537 549 550 if (lafin) then 551 print*, 'c est la fin de la physique' 552 open (99,file='restarttrac', form='formatted') 553 do i=1,klon 554 write(99,*) trs(i,1) 555 enddo 556 PRINT*, 'Ecriture du fichier restarttrac' 557 close(99) 558 else 559 print*, 'physique pas fini' 560 endif 561 562 538 563 RETURN 539 564 END
Note: See TracChangeset
for help on using the changeset viewer.