Changeset 258 for LMDZ.3.3/branches/rel-LF/libf
- Timestamp:
- Jul 18, 2001, 1:28:31 PM (23 years ago)
- Location:
- LMDZ.3.3/branches/rel-LF/libf/phylmd
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F
r235 r258 93 93 REAL dflux_t(klon), dflux_q(klon) 94 94 REAL flux_u(klon,klev, nbsrf), flux_v(klon,klev, nbsrf) 95 REAL rugmer(klon), agesno(klon ),rugoro(klon)95 REAL rugmer(klon), agesno(klon,nbsrf),rugoro(klon) 96 96 REAL cdragh(klon), cdragm(klon) 97 97 integer jour ! jour de l'annee en cours … … 136 136 REAL yalb(klon),yevap(klon) 137 137 REAL yu1(klon), yv1(klon) 138 real ysnow(klon), yqsol(klon) 138 real ysnow(klon), yqsol(klon), yagesno(klon) 139 139 real yrain_f(klon), ysnow_f(klon) 140 140 real ysollw(klon), ysolsw(klon), ysollwdown(klon) … … 374 374 yrain_f(j) = rain_f(i) 375 375 ysnow_f(j) = snow_f(i) 376 yagesno(j) = agesno(i,nsrf) 376 377 yfder(j) = fder(i) 377 378 ytaux(j) = flux_u(i,1,nsrf) 378 379 ytauy(j) = flux_v(i,1,nsrf) 379 ysolsw(j) = solsw(i) 380 c$$$ ysolsw(j) = solsw(i) 381 ysolsw(j) = (1 - albe(i,nsrf)) 382 $ /(1 - pctsrf(i,is_ter) * albe(i,is_ter) 383 $ - pctsrf(i, is_lic) *albe(i,is_lic) 384 $ - pctsrf(i, is_oce) *albe(i,is_oce) 385 $ - pctsrf(i, is_sic) *albe(i,is_sic) 386 $ ) * solsw(i) 380 387 ysollw(j) = sollw(i) 381 388 ysollwdown(j) = sollwdown(i) … … 451 458 c$$$ e ysollw, ysolsw, 452 459 e ysollw, ysollwdown, ysolsw,yfluxlat, 453 s pctsrf_new, agesno,460 s pctsrf_new, yagesno, 454 461 s y_d_t, y_d_q, y_d_ts, yz0_new, 455 462 s y_flux_t, y_flux_q, y_dflux_t, y_dflux_q) … … 569 576 e delp,radsol,evap,albedo,snow,qsol, 570 577 e precip_rain, precip_snow, fder, taux, tauy, 571 c$$$ e lwdown, swdown,572 578 $ sollw, sollwdown, swdown,fluxlat, 573 579 s pctsrf_new, agesno, -
LMDZ.3.3/branches/rel-LF/libf/phylmd/condsurf.F
r230 r258 163 163 $ pctsrf(i, is_oce) + pctsrf(i, is_sic) - 1.) .GT. EPSFRA) 164 164 $ THEN 165 WRITE(*,*) ' physiq: pb sous surface au point ', i,165 WRITE(*,*) 'condsurf : pb sous surface au point ', i, 166 166 $ pctsrf(i, 1 : nbsrf) 167 167 ENDIF -
LMDZ.3.3/branches/rel-LF/libf/phylmd/interface_surf.F90
r236 r258 192 192 real, dimension(klon):: alb_ice 193 193 real, dimension(klon):: tsurf_temp 194 real, allocatable, dimension(:), save :: alb_neig_grid194 !! real, allocatable, dimension(:), save :: alb_neig_grid 195 195 real, dimension(klon):: alb_neig, alb_eau 196 196 real, DIMENSION(klon):: zfra … … 294 294 ! 295 295 !!$ PB ATTENTION changement ordre des appels 296 CALL albsno(klon,agesno,alb_neig_grid)296 !!$ CALL albsno(klon,agesno,alb_neig_grid) 297 297 298 298 if (.not. ok_veget) then … … 337 337 & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l) 338 338 339 DO ii = 1, knon 340 index = knindex(ii) 341 alb_neig(ii) = alb_neig_grid(index) 342 agesno(index) = (agesno(index) + (1.-agesno(index)/50.)*dtime/86400.)& 343 & * EXP(-1.*MAX(0.0,precip_snow(ii))*dtime/0.3) 344 agesno(index) = MAX(agesno(index),0.0) 345 IF(snow(ii) .LT. 0.0001) agesno(index) = 0. 346 ENDDO 347 zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0))) 348 alb_new = alb_neig*zfra + alb_new*(1.0-zfra) 349 z0_new = SQRT(z0_new**2+rugoro**2) 339 !!$ DO ii = 1, knon 340 !!$ index = knindex(ii) 341 !!$ alb_neig(ii) = alb_neig_grid(index) 342 !!$ agesno(index) = (agesno(index) + (1.-agesno(index)/50.)*dtime/86400.)& 343 !!$ & * EXP(-1.*MAX(0.0,precip_snow(ii))*dtime/0.3) 344 !!$ agesno(index) = MAX(agesno(index),0.0) 345 !!$ IF(snow(ii) .LT. 0.0001) agesno(index) = 0. 346 !!$ ENDDO 347 348 call albsno(klon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 349 where (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0. 350 zfra = max(0.0,min(1.0,snow/(snow+10.0))) 351 alb_new(1 : knon) = alb_neig(1 : knon) *zfra + alb_new(1 : knon)*(1.0-zfra) 352 z0_new = sqrt(z0_new**2+rugoro**2) 350 353 351 354 else 352 CALL albsno(klon,agesno,alb_neig_grid)355 !! CALL albsno(klon,agesno,alb_neig_grid) 353 356 ! 354 357 ! appel a sechiba … … 413 416 beta = 1. 414 417 dif_grnd = 0. 418 alb_neig(:) = 0. 419 agesno(:) = 0. 415 420 416 421 call calcul_fluxs( klon, knon, nisurf, dtime, & … … 552 557 ! 553 558 ! 554 zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0)))555 DO ii = 1, knon556 index = knindex(ii)557 alb_neig(ii) = alb_neig_grid(index)558 ENDDO559 alb_new = alb_neig*zfra + 0.6 * (1.0-zfra)560 561 z0_new = 0.001559 CALL albsno(klon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 560 WHERE (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0. 561 zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0))) 562 !!$ alb_new(1 : knon) = alb_neig(1 : knon) *zfra + 0.6 * (1.0-zfra) 563 alb_new(1 : knon) = 0.6 564 565 z0_new = 0.001 566 z0_new = SQRT(z0_new**2+rugoro**2) 562 567 563 568 else if (nisurf == is_lic) then … … 601 606 ! calcul albedo 602 607 ! 603 zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0))) 604 DO ii = 1, knon 605 index = knindex(ii) 606 alb_neig(ii) = alb_neig_grid(index) 607 agesno(index) = (agesno(index) + (1.-agesno(index)/50.)*dtime/86400.)& 608 & * EXP(-1.*MAX(0.0,precip_snow(ii))*dtime/0.3) 609 agesno(index) = MAX(agesno(index),0.0) 610 IF(snow(ii) .LT. 0.0001) agesno(index) = 0. 611 ENDDO 612 alb_new = alb_neig*zfra + 0.6 * (1.0-zfra) 608 CALL albsno(klon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 609 WHERE (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0. 610 zfra = MAX(0.0,MIN(1.0,snow/(snow+10.0))) 611 !!$ alb_new(1 : knon) = alb_neig(1 : knon)*zfra + 0.6 * (1.0-zfra) 612 alb_new(1 : knon) = 0.6 613 613 ! 614 614 ! Rugosite … … 1997 1997 #include "YOETHF.inc" 1998 1998 #include "FCTTRE.inc" 1999 #include "indicesol.inc" 1999 2000 2000 2001 ! Parametres d'entree … … 2046 2047 ! Traitement neige et humidite du sol 2047 2048 ! 2048 if (nisurf == is_oce) then 2049 snow = 0. 2050 qsol = max_eau_sol 2051 else 2052 snow = snow + (precip_snow * dtime) 2053 where (snow > epsilon(snow)) snow = max(0.0, snow - (evap * dtime)) 2054 ! snow = max(0.0, snow + (precip_snow - evap) * dtime) 2055 qsol = qsol + (precip_rain - evap) * dtime 2056 endif 2049 !!$ WRITE(*,*)'test calcul_flux, surface ', nisurf 2050 !!PB test 2051 !!$ if (nisurf == is_oce) then 2052 !!$ snow = 0. 2053 !!$ qsol = max_eau_sol 2054 !!$ else 2055 !!$ where (precip_snow > 0.) snow = snow + (precip_snow * dtime) 2056 !!$ where (snow > epsilon(snow)) snow = max(0.0, snow - (evap * dtime)) 2057 !!$! snow = max(0.0, snow + (precip_snow - evap) * dtime) 2058 !!$ where (precip_rain > 0.) qsol = qsol + (precip_rain - evap) * dtime 2059 !!$ endif 2057 2060 IF (nisurf /= is_ter) qsol = max_eau_sol 2058 2061 … … 2161 2164 ! qsol(i) = qsol(i) + (fq_fonte * dtime) 2162 2165 ! endif 2163 if (nisurf == is_ter) &2164 & run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0)2165 qsol(i) = min(qsol(i), max_eau_sol)2166 !!$ if (nisurf == is_ter) & 2167 !!$ & run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0) 2168 !!$ qsol(i) = min(qsol(i), max_eau_sol) 2166 2169 ENDDO 2167 2170 … … 2263 2266 !######################################################################### 2264 2267 ! 2265 SUBROUTINE albsno(klon, agesno,alb_neig_grid)2268 SUBROUTINE albsno(klon, knon,dtime,agesno,alb_neig_grid, precip_snow) 2266 2269 IMPLICIT none 2267 2270 2268 integer :: klon2271 INTEGER :: klon, knon 2269 2272 INTEGER, PARAMETER :: nvm = 8 2273 REAL :: dtime 2270 2274 REAL, dimension(klon,nvm) :: veget 2271 REAL, DIMENSION(klon) :: alb_neig_grid, agesno 2275 REAL, DIMENSION(klon) :: alb_neig_grid, agesno, precip_snow 2272 2276 2273 2277 INTEGER :: i, nv … … 2280 2284 veget = 0. 2281 2285 veget(:,1) = 1. ! desert partout 2282 DO i = 1, k lon2286 DO i = 1, knon 2283 2287 alb_neig_grid(i) = 0.0 2284 2288 ENDDO 2285 2289 DO nv = 1, nvm 2286 DO i = 1, k lon2290 DO i = 1, knon 2287 2291 as = init(nv)+decay(nv)*EXP(-agesno(i)/5.) 2288 2292 alb_neig_grid(i) = alb_neig_grid(i) + veget(i,nv)*as 2289 2293 ENDDO 2294 ENDDO 2295 ! 2296 !! modilation en fonction de l'age de la neige 2297 ! 2298 DO i = 1, knon 2299 agesno(i) = (agesno(i) + (1.-agesno(i)/50.)*dtime/86400.)& 2300 & * EXP(-1.*MAX(0.0,precip_snow(i))*dtime/0.3) 2301 agesno(i) = MAX(agesno(i),0.0) 2290 2302 ENDDO 2291 2303 … … 2337 2349 #include "YOETHF.inc" 2338 2350 #include "FCTTRE.inc" 2351 #include "indicesol.inc" 2339 2352 2340 2353 ! Parametres d'entree … … 2436 2449 enddo 2437 2450 2451 2452 WHERE (precip_snow > 0.) snow = snow + (precip_snow * dtime) 2453 WHERE (evap > 0 ) snow = MAX(0.0, snow - (evap * dtime)) 2454 qsol = qsol + (precip_rain - evap) * dtime 2438 2455 ! 2439 2456 ! Y'a-t-il fonte de neige? … … 2443 2460 & .AND. tsurf_new(i) >= RTT) 2444 2461 if (neige_fond) then 2445 tsurf_new(i) = RTT 2462 fq_fonte = MIN( MAX((tsurf_new(i)-RTT )/chasno,0.0),snow(i)) 2463 snow(i) = max(0., snow(i) - fq_fonte) 2464 qsol(i) = qsol(i) + fq_fonte 2465 tsurf_new(i) = tsurf_new(i) - fq_fonte * chasno 2466 IF (nisurf == is_sic .OR. nisurf == is_lic ) tsurf_new(i) = RTT -1.8 2446 2467 d_ts(i) = tsurf_new(i) - tsurf(i) 2447 2468 ! zx_h_ts(i) = tsurf_new(i) * RCPD * zx_pkh(i) … … 2449 2470 !== flux_q est le flux de vapeur d'eau: kg/(m**2 s) positive vers bas 2450 2471 !== flux_t est le flux de cpt (energie sensible): j/(m**2 s) 2451 evap(i) = - zx_mq(i) - zx_nq(i) * tsurf_new(i)2452 fluxlat(i) = - evap(i) * zx_sl(i)2453 fluxsens(i) = zx_mh(i) + zx_nh(i) * tsurf_new(i)2472 !!$ evap(i) = - zx_mq(i) - zx_nq(i) * tsurf_new(i) 2473 !!$ fluxlat(i) = - evap(i) * zx_sl(i) 2474 !!$ fluxsens(i) = zx_mh(i) + zx_nh(i) * tsurf_new(i) 2454 2475 ! Derives des flux dF/dTs (W m-2 K-1): 2455 dflux_s(i) = zx_nh(i) 2456 dflux_l(i) = (zx_sl(i) * zx_nq(i)) 2457 bilan_f = radsol(i) + fluxsens(i) - (zx_sl(i) * evap (i)) - & 2458 & dif_grnd(i) * (tsurf_new(i) - t_grnd) - & 2459 & RCPD * (zx_pkh(i))/cal(i)/dtime * (tsurf_new(i) - tsurf(i)) 2460 bilan_f = max(0., bilan_f) 2461 fq_fonte = bilan_f / zx_sl(i) 2462 snow(i) = max(0., snow(i) - fq_fonte * dtime) 2463 qsol(i) = qsol(i) + (fq_fonte * dtime) 2464 if (nisurf == is_ter) & 2465 & run_off(i) = run_off(i) + max(qsol(i) - max_eau_sol, 0.0) 2466 qsol(i) = min(qsol(i), max_eau_sol) 2467 endif 2476 !!$ dflux_s(i) = zx_nh(i) 2477 !!$ dflux_l(i) = (zx_sl(i) * zx_nq(i)) 2478 !!$ bilan_f = radsol(i) + fluxsens(i) - (zx_sl(i) * evap (i)) - & 2479 !!$ & dif_grnd(i) * (tsurf_new(i) - t_grnd) - & 2480 !!$ & RCPD * (zx_pkh(i))/cal(i)/dtime * (tsurf_new(i) - tsurf(i)) 2481 !!$ bilan_f = max(0., bilan_f) 2482 !!$ fq_fonte = bilan_f / zx_sl(i) 2483 endif 2484 IF (nisurf == is_ter) & 2485 & run_off(i) = run_off(i) + MAX(qsol(i) - max_eau_sol, 0.0) 2486 qsol(i) = MIN(qsol(i), max_eau_sol) 2468 2487 enddo 2469 2488 -
LMDZ.3.3/branches/rel-LF/libf/phylmd/phyredem.F
r179 r258 42 42 REAL radsol(klon) 43 43 REAL frugs(klon,nbsrf) 44 REAL agesno(klon )44 REAL agesno(klon,nbsrf) 45 45 REAL zmea(klon) 46 46 REAL zstd(klon) … … 417 417 ENDDO 418 418 c 419 ierr = NF_REDEF (nid) 420 ierr = NF_DEF_VAR (nid, "AGESNO", NF_FLOAT, 1, idim2,nvarid) 421 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15, 422 . "Age de la neige") 423 ierr = NF_ENDDEF(nid) 424 #ifdef NC_DOUBLE 425 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,agesno) 426 #else 427 ierr = NF_PUT_VAR_REAL (nid,nvarid,agesno) 428 #endif 419 DO nsrf = 1, nbsrf 420 IF (nsrf.LE.99) THEN 421 WRITE(str2,'(i2.2)') nsrf 422 ierr = NF_REDEF (nid) 423 ierr = NF_DEF_VAR (nid,"AGESNO"//str2,NF_FLOAT,1,idim2 424 $ ,nvarid) 425 ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15, 426 . "Age de la neige surface No."//str2) 427 ierr = NF_ENDDEF(nid) 428 ELSE 429 PRINT*, "Trop de sous-mailles" 430 CALL abort 431 ENDIF 432 #ifdef NC_DOUBLE 433 ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,agesno(1,nsrf)) 434 #else 435 ierr = NF_PUT_VAR_REAL (nid,nvarid,agesno(1,nsrf)) 436 #endif 437 ENDDO 429 438 c 430 439 ierr = NF_REDEF (nid) -
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r235 r258 278 278 INTEGER igwd,idx(klon),itest(klon) 279 279 c 280 REAL agesno(klon )280 REAL agesno(klon,nbsrf) 281 281 SAVE agesno ! age de la neige 282 282 c … … 340 340 REAL evap(klon), devap(klon) ! evaporation et sa derivee 341 341 REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee 342 REAL dlw(klon) ! derivee infra rouge 342 343 REAL bils(klon) ! bilan de chaleur au sol 343 344 REAL fder(klon) ! Derive de flux (sensible et latente) … … 627 628 . rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow, 628 629 . falbe, fevap, rain_fall,snow_fall,solsw, sollwdown, 629 . fder,radsol,frugs,agesno,clesphy0,630 . dlw,radsol,frugs,agesno,clesphy0, 630 631 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0, 631 632 . t_ancien, q_ancien, ancien_ok ) … … 1022 1023 . "ave(X)", zsto,zout) 1023 1024 c 1024 CALL histdef(nid_mth, "ages", "Snow age", "day",1025 . iim,jjmp1,nhori, 1,1,1, -99, 32,1026 . "ave(X)", zsto,zout)1027 c1028 1025 CALL histdef(nid_mth, "evap", "Evaporation", "mm/day", 1029 1026 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 1127 1124 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1128 1125 $ "ave(X)", zsto,zout) 1126 c 1127 CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day", 1128 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1129 . "ave(X)", zsto,zout) 1130 1129 1131 END DO 1130 1132 C … … 1440 1442 . "inst(X)", zsto,zout) 1441 1443 c 1444 CALL histdef(nid_ins, "qsol", "Surface humidity", "mm", 1445 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1446 . "inst(X)", zsto,zout) 1447 c 1448 CALL histdef(nid_ins, "rain", "Precipitation", "mm/day", 1449 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1450 . "inst(X)", zsto,zout) 1451 c 1452 CALL histdef(nid_ins, "snow", "Snow fall", "mm/day", 1453 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1454 . "inst(X)", zsto,zout) 1455 c 1456 CALL histdef(nid_ins, "snow_cov", "Snow cover", "mm", 1457 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1458 . "inst(X)", zsto,zout) 1459 c 1442 1460 CALL histdef(nid_ins, "topl", "OLR", "W/m2", 1443 1461 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 1458 1476 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", 1459 1477 . "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32, 1460 . " ave(X)", zsto,zout)1478 . "inst(X)", zsto,zout) 1461 1479 c 1462 1480 CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", … … 1521 1539 c 1522 1540 call histdef(nid_ins, "albe_"//clnsurf(nsrf), 1523 $ "Albedo surf."//clnsurf(nsrf), "-",1541 $ "Albedo "//clnsurf(nsrf), "-", 1524 1542 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1525 1543 $ "inst(X)", zsto,zout) … … 1540 1558 . "inst(X)", zsto,zout) 1541 1559 c 1542 CALL histdef(nid_ins, "snow_cov", "Snow cover", "mm",1543 . iim,jjmp1,nhori, 1,1,1, -99, 32,1544 . "inst(X)", zsto,zout)1545 1560 c 1546 1561 c Champs 3D: … … 1741 1756 ENDIF 1742 1757 1743 fder = 0. 1744 date0 = day_ini 1758 fder = dlw 1745 1759 1746 1760 CALL clmain(dtime,itap,date0,pctsrf, … … 1784 1798 c evap(i) = - fluxq(i,1) ! flux d'evaporation au sol 1785 1799 evap(i) = - zxfluxq(i,1) ! flux d'evaporation au sol 1786 C LF test signe flux 1787 sens(i) = zxfluxt(i,1) 1788 evap(i) = zxfluxq(i,1) 1789 fder(i) = dsens(i) + devap(i) 1800 fder(i) = dlw(i) + dsens(i) + devap(i) 1790 1801 ENDDO 1791 1802 … … 1831 1842 c Calculer la derive du flux infrarouge 1832 1843 c 1833 DO nsrf = 1, nbsrf 1834 DO i = 1, klon 1835 fder(i) = fder(i) - 4.0*RSIGMA*zxtsol(i)**3 * 1836 . (ftsol(i,nsrf)-zxtsol(i)) 1837 . *pctsrf(i,nsrf) 1838 ENDDO 1844 c$$$ DO nsrf = 1, nbsrf 1845 DO i = 1, klon 1846 c$$$ IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN 1847 dlw(i) = - 4.0*RSIGMA*zxtsol(i)**3 1848 c$$$ . *(ftsol(i,nsrf)-zxtsol(i)) 1849 c$$$ . *pctsrf(i,nsrf) 1850 c$$$ ENDIF 1851 c$$$ ENDDO 1839 1852 ENDDO 1840 1853 c … … 2536 2549 CALL histwrite(nid_mth,"snow_cov",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2537 2550 c 2538 CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)2539 CALL histwrite(nid_mth,"ages",itap,zx_tmp_2d,iim*jjmp1,ndex2d)2540 c2541 2551 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 2542 2552 CALL histwrite(nid_mth,"evap",itap,zx_tmp_2d,iim*jjmp1,ndex2d) … … 2632 2642 CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itap, 2633 2643 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2644 c 2645 zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf) 2646 CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d) 2647 CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itap 2648 $ ,zx_tmp_2d,iim*jjmp1,ndex2d) 2634 2649 2635 2650 END DO … … 2908 2923 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 2909 2924 CALL histwrite(nid_ins,"tsol",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2925 c 2926 DO i = 1, klon 2927 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 2928 ENDDO 2929 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2930 CALL histwrite(nid_ins,"rain",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2931 c 2932 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 2933 CALL histwrite(nid_ins,"snow",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2934 2910 2935 c 2911 2936 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) … … 3116 3141 . rlat, rlon, pctsrf, ftsol, ftsoil, deltat, fqsol, fsnow, 3117 3142 . falbe, fevap, rain_fall, snow_fall, 3118 . solsw, sollwdown, fder,3143 . solsw, sollwdown,dlw, 3119 3144 . radsol,frugs,agesno, 3120 3145 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,
Note: See TracChangeset
for help on using the changeset viewer.