- Timestamp:
- Sep 5, 2001, 6:09:36 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r263 r271 10 10 USE ioipsl 11 11 USE histcom 12 USE writephys 12 13 13 14 IMPLICIT none … … 576 577 real date0 577 578 579 C essai writephys 580 integer fid_day, fid_mth, fid_ins 581 parameter (fid_ins = 1, fid_day = 2, fid_mth = 3) 582 integer prof2d_on, prof3d_on, prof2d_av, prof3d_av 583 parameter (prof2d_on = 1, prof3d_on = 2, 584 . prof2d_av = 3, prof3d_av = 4) 585 character*30 nom_fichier 586 character*10 varname 587 character*40 vartitle 588 character*20 varunits 578 589 c 579 590 c Declaration des constantes et des fonctions thermodynamiques … … 758 769 zsto = dtime 759 770 zout = dtime * FLOAT(ecrit_day) 771 C Essai writephys 772 nom_fichier = 'histday1' 773 call writephy_ini(fid_day,nom_fichier,klon,iim,jjmp1,klev, 774 . rlon,rlat, presnivs, 775 . zjulian, dtime) 776 call writephy_def(prof2d_on, fid_day, "once", zsto, zout, 0) 777 call writephy_def(prof3d_on, fid_day, "once", zsto, zout, 778 . klev) 779 call writephy_def(prof2d_av, fid_day, "ave(X)", zsto, zout, 0) 780 call writephy_def(prof3d_av, fid_day, "ave(X)", zsto, zout, 781 . klev) 782 760 783 c 761 784 CALL histdef(nid_day, "phis", "Surface geop. height", "-", … … 2348 2371 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 2349 2372 CALL histwrite(nid_day,"phis",i,zx_tmp_2d,iim*jjmp1,ndex2d) 2373 varname = 'phis' 2374 vartitle= 'Surface geop. height' 2375 varunits= '-' 2376 call writephy(fid_day,prof2d_on,varname,pphis,vartitle, 2377 . varunits) 2350 2378 c 2351 2379 i = NINT(zout/zsto) 2352 2380 CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d) 2353 2381 CALL histwrite(nid_day,"aire",i,zx_tmp_2d,iim*jjmp1,ndex2d) 2382 varname = 'aire' 2383 vartitle= 'Grid area' 2384 varunits= '-' 2385 call writephy(fid_day,prof2d_on,varname,paire,vartitle, 2386 . varunits) 2354 2387 C 2355 2388 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 2356 2389 CALL histwrite(nid_day,"tsol",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2390 call writephy(fid_day,prof2d_av,'tsol',zxtsol, 2391 . 'Surface Temperature','K') 2357 2392 c 2358 2393 C … … 2360 2395 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d) 2361 2396 CALL histwrite(nid_day,"tter",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2397 call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter), 2398 . 'Surface Temperature','K') 2362 2399 C 2363 2400 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic) 2364 2401 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 2365 2402 CALL histwrite(nid_day,"tlic",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2403 call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic), 2404 . 'Surface Temperature','K') 2366 2405 C 2367 2406 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce) 2368 2407 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 2369 2408 CALL histwrite(nid_day,"toce",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2409 call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce), 2410 . 'Surface Temperature','K') 2370 2411 C 2371 2412 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic) 2372 2413 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 2373 2414 CALL histwrite(nid_day,"tsic",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2415 call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic), 2416 . 'Surface Temperature','K') 2374 2417 C 2375 2418 DO i = 1, klon … … 2378 2421 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2379 2422 CALL histwrite(nid_day,"psol",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2380 c 2381 DO i = 1, klon 2382 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 2423 c Essai writephys 2424 varname = 'psol' 2425 vartitle= 'pression au sol' 2426 varunits= 'hPa' 2427 call writephy(fid_day,prof2d_av,varname,zx_tmp_fi2d,vartitle, 2428 . varunits) 2429 c 2430 DO i = 1, klon 2431 zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i))* 86400. 2383 2432 ENDDO 2384 2433 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2385 2434 CALL histwrite(nid_day,"rain",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2435 call writephy(fid_day,prof2d_av,'rain',zx_tmp_fi2d, 2436 . 'Precipitation','mm/day') 2437 2438 2386 2439 c 2387 2440 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 2388 2441 CALL histwrite(nid_day,"snow",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2442 call writephy(fid_day,prof2d_av,'snow',snow_fall, 2443 . 'Snow','mm/day') 2389 2444 c 2390 2445 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 2391 2446 CALL histwrite(nid_day,"snow_cov",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2447 call writephy(fid_day,prof2d_av,'snow_cov',zxsnow, 2448 . 'Snow cover','mm') 2392 2449 c 2393 2450 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 2394 2451 CALL histwrite(nid_day,"evap",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2452 call writephy(fid_day,prof2d_av,'evap',evap, 2453 . 'Evaporation','mm/day') 2395 2454 c 2396 2455 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 2397 2456 CALL histwrite(nid_day,"tops",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2457 call writephy(fid_day,prof2d_av,'tops',topsw, 2458 . 'Solar rad. at TOA','W/m2') 2398 2459 c 2399 2460 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 2400 2461 CALL histwrite(nid_day,"topl",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2462 call writephy(fid_day,prof2d_av,'topl',toplw, 2463 . 'IR rad. at TOA','W/m2') 2401 2464 c 2402 2465 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 2403 2466 CALL histwrite(nid_day,"sols",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2467 call writephy(fid_day,prof2d_av,'sols',solsw, 2468 . 'Solar rad. at surf.','W/m2') 2404 2469 c 2405 2470 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 2406 2471 CALL histwrite(nid_day,"soll",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2472 call writephy(fid_day,prof2d_av,'soll',sollw, 2473 . 'IR rad. at surface','W/m2') 2407 2474 c 2408 2475 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 2409 2476 CALL histwrite(nid_day,"solldown",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2477 call writephy(fid_day,prof2d_av,'solldown',sollwdown, 2478 . 'Down. IR rad. at surface','W/m2') 2410 2479 c 2411 2480 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 2412 2481 CALL histwrite(nid_day,"bils",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2482 call writephy(fid_day,prof2d_av,'bils',bils, 2483 . 'Surf. total heat flux','W/m2') 2413 2484 c 2414 2485 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) 2415 2486 CALL histwrite(nid_day,"sens",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2487 call writephy(fid_day,prof2d_av,'sens',sens, 2488 . 'Sensible heat flux','W/m2') 2416 2489 c 2417 2490 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 2418 2491 CALL histwrite(nid_day,"fder",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2492 call writephy(fid_day,prof2d_av,'fder',fder, 2493 . 'Heat flux derivation','W/m2') 2419 2494 c 2420 2495 c … … 2425 2500 CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itap, 2426 2501 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2502 call writephy(fid_day,prof2d_av,'pourc_'//clnsurf(nsrf), 2503 . pctsrf( 1 : klon, nsrf), 2504 . 'Fraction'//clnsurf(nsrf),'-') 2427 2505 C 2428 2506 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) … … 2430 2508 CALL histwrite(nid_day,"tsol_"//clnsurf(nsrf),itap, 2431 2509 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2510 call writephy(fid_day,prof2d_av,'tsol_'//clnsurf(nsrf), 2511 . ftsol( 1 : klon, nsrf), 2512 . 'Surf. Temp'//clnsurf(nsrf),'K') 2432 2513 C 2433 2514 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) … … 2435 2516 CALL histwrite(nid_day,"sens_"//clnsurf(nsrf),itap, 2436 2517 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2437 C 2518 call writephy(fid_day,prof2d_av,'sens_'//clnsurf(nsrf), 2519 . fluxt( 1 : klon, 1, nsrf), 2520 . 'Sensible heat flux '//clnsurf(nsrf),'W/m2') 2521 C 2438 2522 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 2439 2523 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2440 2524 CALL histwrite(nid_day,"lat_"//clnsurf(nsrf),itap, 2441 2525 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2526 call writephy(fid_day,prof2d_av,'lat_'//clnsurf(nsrf), 2527 . fluxlat( 1 : klon, nsrf), 2528 . 'Latent heat flux '//clnsurf(nsrf),'W/m2') 2442 2529 C 2443 2530 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) … … 2445 2532 CALL histwrite(nid_day,"taux_"//clnsurf(nsrf),itap, 2446 2533 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2534 call writephy(fid_day,prof2d_av,'taux_'//clnsurf(nsrf), 2535 . fluxu( 1 : klon, 1, nsrf), 2536 . 'Zonal wind stress '//clnsurf(nsrf),'Pa') 2447 2537 C 2448 2538 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) … … 2450 2540 CALL histwrite(nid_day,"tauy_"//clnsurf(nsrf),itap, 2451 2541 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2542 call writephy(fid_day,prof2d_av,'tauy_'//clnsurf(nsrf), 2543 . fluxv( 1 : klon, 1, nsrf), 2544 . 'Meridional wind stress '//clnsurf(nsrf),'Pa') 2452 2545 C 2453 2546 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) … … 2455 2548 CALL histwrite(nid_day,"albe_"//clnsurf(nsrf),itap, 2456 2549 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2550 call writephy(fid_day,prof2d_av,'albe_'//clnsurf(nsrf), 2551 . falbe( 1 : klon, nsrf), 2552 . 'Albedo surf.'//clnsurf(nsrf),'-') 2457 2553 C 2458 2554 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) … … 2460 2556 CALL histwrite(nid_day,"rugs_"//clnsurf(nsrf),itap, 2461 2557 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2558 call writephy(fid_day,prof2d_av,'rugs_'//clnsurf(nsrf), 2559 . frugs( 1 : klon, nsrf), 2560 . 'Rugosity '//clnsurf(nsrf),' - ') 2462 2561 C 2463 2562 END DO … … 2471 2570 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 2472 2571 CALL histwrite(nid_day,"cldl",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2572 call writephy(fid_day,prof2d_av,'cldl',cldl, 2573 . 'Low-level cloudiness','-') 2473 2574 c 2474 2575 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 2475 2576 CALL histwrite(nid_day,"cldm",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2577 call writephy(fid_day,prof2d_av,'cldm',cldm, 2578 . 'Mid-level cloudiness','-') 2476 2579 c 2477 2580 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 2478 2581 CALL histwrite(nid_day,"cldh",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2582 call writephy(fid_day,prof2d_av,'cldh',cldh, 2583 . 'High-level cloudiness','-') 2479 2584 c 2480 2585 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 2481 2586 CALL histwrite(nid_day,"cldt",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2587 call writephy(fid_day,prof2d_av,'cldt',cldt, 2588 . 'Total cloudiness','-') 2482 2589 c 2483 2590 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 2484 2591 CALL histwrite(nid_day,"cldq",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 2592 call writephy(fid_day,prof2d_av,'cldq',cldq, 2593 . 'Cloud liquid water path','-') 2485 2594 c 2486 2595 c Champs 3D: … … 2489 2598 CALL histwrite(nid_day,"temp",itap,zx_tmp_3d, 2490 2599 . iim*jjmp1*klev,ndex3d) 2600 c Essai writephys 2601 varname = 'temp' 2602 vartitle= 'temperature 3D' 2603 varunits= 'K' 2604 call writephy(fid_day,prof3d_av,varname,t_seri,vartitle,varunits) 2491 2605 c 2492 2606 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 2493 2607 CALL histwrite(nid_day,"ovap",itap,zx_tmp_3d, 2494 2608 . iim*jjmp1*klev,ndex3d) 2609 call writephy(fid_day,prof3d_av,'ovap',qx(1,1,ivap), 2610 . 'Specific humidity','Kg/Kg') 2495 2611 c 2496 2612 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 2497 2613 CALL histwrite(nid_day,"geop",itap,zx_tmp_3d, 2498 2614 . iim*jjmp1*klev,ndex3d) 2615 call writephy(fid_day,prof3d_av,'geop',zphi, 2616 . 'Geopotential height','m') 2499 2617 c 2500 2618 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 2501 2619 CALL histwrite(nid_day,"vitu",itap,zx_tmp_3d, 2502 2620 . iim*jjmp1*klev,ndex3d) 2621 call writephy(fid_day,prof3d_av,'vitu',u_seri, 2622 . 'Zonal wind','m/s') 2503 2623 c 2504 2624 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 2505 2625 CALL histwrite(nid_day,"vitv",itap,zx_tmp_3d, 2506 2626 . iim*jjmp1*klev,ndex3d) 2627 call writephy(fid_day,prof3d_av,'vitv',v_seri, 2628 . 'Meridional wind','m/s') 2507 2629 c 2508 2630 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 2509 2631 CALL histwrite(nid_day,"vitw",itap,zx_tmp_3d, 2510 2632 . iim*jjmp1*klev,ndex3d) 2633 call writephy(fid_day,prof3d_av,'vitw',omega, 2634 . 'Vertical wind','m/s') 2511 2635 c 2512 2636 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 2513 2637 CALL histwrite(nid_day,"pres",itap,zx_tmp_3d, 2514 2638 . iim*jjmp1*klev,ndex3d) 2639 call writephy(fid_day,prof3d_av,'pres',pplay, 2640 . 'Air pressure','Pa') 2641 2515 2642 c 2516 2643 if (ok_sync) then 2644 call writephy_sync(fid_day) 2517 2645 call histsync(nid_day) 2518 2646 endif
Note: See TracChangeset
for help on using the changeset viewer.