Changeset 864 for LMDZ4/trunk/libf/phytherm
- Timestamp:
- Nov 13, 2007, 3:37:28 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phytherm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phytherm/ini_histmth.h
r860 r864 863 863 ENDIF 864 864 C 865 #if defined(INCA_AER) && defined(CPP_COUPLE) 866 CALL histdef(nid_mth, "tau", "cloud opt thickness", "-", 867 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 868 . "ave(X)", zstophy,zout) 869 CALL histdef(nid_mth, "CCM1", "CCM1", "", 870 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 871 . "ave(X)", zstophy,zout) 872 CALL histdef(nid_mth, "CCM2", "CCM2", "", 873 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 874 . "ave(X)", zstophy,zout) 875 CALL histdef(nid_mth, "taupi", "cloud opt thickn. (pi)", "-", 876 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 877 . "ave(X)", zstophy,zout) 878 CALL histdef(nid_mth, "cldemi", "emissivite IR", "-", 879 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 880 . "ave(X)", zstophy,zout) 881 CALL histdef(nid_mth, "SWTOAAS_ZERO", "?", "?", 882 . iim,jj_nb,nhori, 1,1,1, -99, 32, 883 . "ave(X)", zstophy,zout) 884 CALL histdef(nid_mth, "SWTOAAS_AER", "?", "?", 885 . iim,jj_nb,nhori, 1,1,1, -99, 32, 886 . "ave(X)", zstophy,zout) 887 CALL histdef(nid_mth, "SWTOAAS_NAT", "?", "?", 888 . iim,jj_nb,nhori, 1,1,1, -99, 32, 889 . "ave(X)", zstophy,zout) 890 CALL histdef(nid_mth, "SWTOAAS_AD", "?", "?", 891 . iim,jj_nb,nhori, 1,1,1, -99, 32, 892 . "ave(X)", zstophy,zout) 893 CALL histdef(nid_mth, "SWTOAAS_AI", "?", "?", 894 . iim,jj_nb,nhori, 1,1,1, -99, 32, 895 . "ave(X)", zstophy,zout) 896 CALL histdef(nid_mth, "SWTOACS_ZERO", "?", "?", 897 . iim,jj_nb,nhori, 1,1,1, -99, 32, 898 . "ave(X)", zstophy,zout) 899 CALL histdef(nid_mth, "SWTOACS_AER", "?", "?", 900 . iim,jj_nb,nhori, 1,1,1, -99, 32, 901 . "ave(X)", zstophy,zout) 902 CALL histdef(nid_mth, "SWTOACS_AD", "?", "?", 903 . iim,jj_nb,nhori, 1,1,1, -99, 32, 904 . "ave(X)", zstophy,zout) 905 CALL histdef(nid_mth, "SWTOACS_NAT", "?", "?", 906 . iim,jj_nb,nhori, 1,1,1, -99, 32, 907 . "ave(X)", zstophy,zout) 908 #endif 909 #ifndef INCA 865 910 if (nqmax.GE.3) THEN 866 911 DO iq=3,nqmax … … 871 916 ENDDO 872 917 ENDIF 918 #endif 873 919 c 874 920 ENDIF !lev_histmth.GE.4 … … 1800 1846 ENDIF 1801 1847 C 1848 #if defined(INCA_AER) && defined(CPP_COUPLE) 1849 CALL histdef(nid_mth, "tau", "cloud opt thickness", "-", 1850 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1851 . "ave(X)", zstophy,zout) 1852 CALL histdef(nid_mth, "CCM1", "CCM1", "", 1853 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1854 . "ave(X)", zstophy,zout) 1855 CALL histdef(nid_mth, "CCM2", "CCM2", "", 1856 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1857 . "ave(X)", zstophy,zout) 1858 CALL histdef(nid_mth, "taupi", "cloud opt thickn. (pi)", "-", 1859 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1860 . "ave(X)", zstophy,zout) 1861 CALL histdef(nid_mth, "cldemi", "emissivite IR", "-", 1862 . iim,jj_nb,nhori, klev,1,klev,nvert, 32, 1863 . "ave(X)", zstophy,zout) 1864 CALL histdef(nid_mth, "SWTOAAS_ZERO", "?", "?", 1865 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1866 . "ave(X)", zstophy,zout) 1867 CALL histdef(nid_mth, "SWTOAAS_AER", "?", "?", 1868 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1869 . "ave(X)", zstophy,zout) 1870 CALL histdef(nid_mth, "SWTOAAS_NAT", "?", "?", 1871 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1872 . "ave(X)", zstophy,zout) 1873 CALL histdef(nid_mth, "SWTOAAS_AD", "?", "?", 1874 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1875 . "ave(X)", zstophy,zout) 1876 CALL histdef(nid_mth, "SWTOAAS_AI", "?", "?", 1877 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1878 . "ave(X)", zstophy,zout) 1879 CALL histdef(nid_mth, "SWTOACS_ZERO", "?", "?", 1880 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1881 . "ave(X)", zstophy,zout) 1882 CALL histdef(nid_mth, "SWTOACS_AER", "?", "?", 1883 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1884 . "ave(X)", zstophy,zout) 1885 CALL histdef(nid_mth, "SWTOACS_AD", "?", "?", 1886 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1887 . "ave(X)", zstophy,zout) 1888 CALL histdef(nid_mth, "SWTOACS_NAT", "?", "?", 1889 . iim,jj_nb,nhori, 1,1,1, -99, 32, 1890 . "ave(X)", zstophy,zout) 1891 #endif 1892 #ifndef INCA 1802 1893 if (nqmax.GE.3) THEN 1803 1894 DO iq=3,nqmax … … 1808 1899 ENDDO 1809 1900 ENDIF 1901 #endif 1810 1902 1811 1903 ENDIF !lev_histmth.GE.4 -
LMDZ4/trunk/libf/phytherm/physiq.F
r852 r864 1327 1327 c$OMP THREADPRIVATE(cg_ae) 1328 1328 1329 #ifdef INCA_AER 1330 #ifdef CPP_COUPLE 1331 ! Aerosol optical properties by INCA model 1332 REAL, SAVE, ALLOCATABLE :: tau_inca(:,:,:,:) 1333 REAL, SAVE, ALLOCATABLE :: piz_inca(:,:,:,:) 1334 REAL, SAVE, ALLOCATABLE :: cg_inca(:,:,:,:) 1335 REAL, SAVE, ALLOCATABLE :: ccm(:,:,:) 1336 CHARACTER*4 :: rfname(9) 1337 1338 REAL,SAVE,ALLOCATABLE :: topswad_inca(:), solswad_inca(:) ! Aerosol direct effect. 1339 REAL,SAVE,ALLOCATABLE :: topswad0_inca(:), solswad0_inca(:) ! Aerosol direct effect. 1340 REAL,SAVE,ALLOCATABLE :: topswai_inca(:), solswai_inca(:) ! Aerosol indirect effect. 1341 REAL,SAVE,ALLOCATABLE :: topsw_inca(:,:), solsw_inca(:,:) 1342 REAL,SAVE,ALLOCATABLE :: topsw0_inca(:,:), solsw0_inca(:,:) 1343 #endif 1344 #endif 1329 1345 REAL,SAVE,ALLOCATABLE :: topswad(:), solswad(:) ! Aerosol direct effect. 1330 1346 c$OMP THREADPRIVATE(topswad,solswad) … … 1463 1479 allocate( topswad(klon), solswad(klon)) 1464 1480 allocate( topswai(klon), solswai(klon) ) 1481 #ifdef INCA_AER 1482 #ifdef CPP_COUPLE 1483 allocate( topswad_inca(klon), solswad_inca(klon)) 1484 allocate( topswad0_inca(klon), solswad0_inca(klon)) 1485 allocate( topswai_inca(klon), solswai_inca(klon)) 1486 allocate( topsw_inca(klon,9), solsw_inca(klon,9)) 1487 allocate( topsw0_inca(klon,9), solsw0_inca(klon,9)) 1488 allocate( tau_inca(klon,klev,9,2)) 1489 allocate( piz_inca(klon,klev,9,2)) 1490 allocate( cg_inca(klon,klev,9,2)) 1491 allocate( ccm(klon,klev,2) ) 1492 #endif 1493 #endif 1465 1494 allocate( clwcon0(klon,klev),rnebcon0(klon,klev)) 1466 1495 allocate( clwcon0th(klon,klev),rnebcon0th(klon,klev)) … … 1527 1556 solswai(:)=0. 1528 1557 solswad(:)=0. 1558 #ifdef INCA_AER 1559 #ifdef CPP_COUPLE 1560 tau_inca(:,:,:,:) = 0. 1561 piz_inca(:,:,:,:) = 0. 1562 cg_inca(:,:,:,:) = 0. 1563 ccm(:,:,:) = 0. 1564 topswai_inca(:) = 0. 1565 topswad_inca(:) = 0. 1566 topswad0_inca(:) = 0. 1567 topsw_inca(:,:) = 0. 1568 topsw0_inca(:,:) = 0. 1569 solswai_inca(:) = 0. 1570 solswad_inca(:) = 0. 1571 solswad0_inca(:) = 0. 1572 solsw_inca(:,:) = 0. 1573 solsw0_inca(:,:) = 0. 1574 #endif 1575 #endif 1529 1576 !rv 1530 ! anne1577 !ACo 1531 1578 d_u_con(:,:) = 0.0 1532 1579 d_v_con(:,:) = 0.0 … … 1538 1585 c nhistoW(:,:,:,:) = 0.0 1539 1586 c histoW(:,:,:,:) = 0.0 1540 ! fin anne1541 1587 1542 1588 cIM … … 2694 2740 cjq - Johannes Quaas, 27/11/2003 (quaas@lmd.jussieu.fr) 2695 2741 IF (ok_ade.OR.ok_aie) THEN 2742 #if defined(CPP_COUPLE) && !defined(INCA_AER) 2696 2743 ! Get sulfate aerosol distribution 2697 2744 CALL readsulfate(rjourvrai, debut, sulfate) … … 2701 2748 CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl, 2702 2749 . tau_ae, piz_ae, cg_ae, aerindex) 2750 #endif 2751 #if !defined(CPP_COUPLE) 2752 ! Get sulfate aerosol distribution 2753 CALL readsulfate(rjourvrai, debut, sulfate) 2754 CALL readsulfate_preind(rjourvrai, debut, sulfate_pi) 2755 2756 ! Calculate aerosol optical properties (Olivier Boucher) 2757 CALL aeropt(pplay, paprs, t_seri, sulfate, rhcl, 2758 . tau_ae, piz_ae, cg_ae, aerindex) 2759 #endif 2703 2760 cym 2704 2761 ELSE … … 2877 2934 . flwp, fiwp, flwc, fiwc, 2878 2935 e ok_aie, 2936 #if defined(CPP_COUPLE) && defined(INCA_AER) 2937 e ccm(:,:,1), ccm(:,:,2), 2938 #else 2879 2939 e sulfate, sulfate_pi, 2940 #endif 2880 2941 e bl95_b0, bl95_b1, 2881 2942 s cldtaupi, re, fl) … … 2913 2974 endif 2914 2975 2976 2977 #if defined(CPP_COUPLE) && defined(INCA_AER) 2978 CALL radlwsw_inca ! nouveau rayonnement (compatible Arpege-IFS) 2979 e (kdlon,kflev,dist, rmu0, fract, 2980 e paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri, 2981 e wo, 2982 e cldfra, cldemi, cldtau, 2983 s heat,heat0,cool,cool0,radsol,albpla, 2984 s topsw,toplw,solsw,sollw, 2985 s sollwdown, 2986 s topsw0,toplw0,solsw0,sollw0, 2987 s lwdn0, lwdn, lwup0, lwup, 2988 s swdn0, swdn, swup0, swup, 2989 e ok_ade, ok_aie, ! new for aerosol radiative effects 2990 e tau_inca, piz_inca, cg_inca, ! ="= 2991 s topswad_inca, solswad_inca, ! ="= 2992 s topswad0_inca, solswad0_inca, ! ="= 2993 s topsw_inca, topsw0_inca, 2994 s solsw_inca, solsw0_inca, 2995 e cldtaupi, ! ="= 2996 s topswai_inca, solswai_inca) ! ="= 2997 #else 2915 2998 CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS) 2916 2999 e (dist, rmu0, fract, … … 2929 3012 e cldtaupi, ! ="= 2930 3013 s topswai, solswai) ! ="= 3014 #endif 2931 3015 itaprad = 0 2932 3016 ENDIF … … 3162 3246 #ifdef INCA 3163 3247 I flxmass_w, 3248 #if defined(INCA_AER) && defined(CPP_COUPLE) 3249 I tau_inca, 3250 I piz_inca, 3251 I cg_inca, 3252 I ccm, 3253 I rfname, 3254 #endif 3164 3255 #endif 3165 3256 O tr_seri) -
LMDZ4/trunk/libf/phytherm/phytrac.F
r814 r864 59 59 #ifdef INCA 60 60 I flxmass_w, 61 #if defined(INCA_AER) && defined(CPP_COUPLE) 62 I tau_inca, 63 I piz_inca, 64 I cg_inca, 65 I ccm, 66 I rfname, 67 #endif 61 68 #endif 62 69 O tr_seri) … … 140 147 REAL flxmass_w(klon,klev) 141 148 CHARACTER(len=8) :: solsym(nqmax) 149 #if defined(INCA_AER) && defined(CPP_COUPLE) 150 integer la 151 REAL :: tau_inca(klon,klev,9,2) 152 REAL :: piz_inca(klon,klev,9,2) 153 REAL :: cg_inca(klon,klev,9,2) 154 character*4 :: rfname(9) 155 REAL :: ccm(klon,klev,2) 156 #endif 142 157 #endif 143 158 c integer iflag_con … … 348 363 REAL :: dummy(klon,klev) 349 364 #endif 350 #ifdef INCA_AER351 integer la352 #endif353 365 c 354 366 c====================================================================== … … 509 521 510 522 #ifdef INCA_AER 511 512 ! Changement Anne 01/04/2005513 523 CALL aerosolmain (tr_seri, 514 524 $ pdtphys, … … 528 538 $ t_seri, ! for chimiaq 529 539 $ rh, 540 #ifdef CPP_COUPLE 541 $ tau_inca, 542 $ piz_inca, 543 $ cg_inca, 544 $ rfname, 545 $ ccm, 546 #endif 530 547 $ lafin) 531 ! fin changement anne532 533 548 #endif 534 549 -
LMDZ4/trunk/libf/phytherm/write_histmth.h
r858 r864 846 846 ENDIF 847 847 C 848 #if defined(INCA_AER) && defined(CPP_COUPLE) 849 CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau) 850 CALL histwrite_phy(nid_mth,"CCM1",itau_w,ccm(:,:,1)) 851 CALL histwrite_phy(nid_mth,"CCM2",itau_w,ccm(:,:,2)) 852 CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi) 853 CALL histwrite_phy(nid_mth,"cldemi",itau_w,cldemi) 854 CALL histwrite_phy(nid_mth,"SWTOAAS_ZERO",itau_w,topsw_inca(:,1)) 855 CALL histwrite_phy(nid_mth,"SWTOAAS_AER",itau_w,topsw_inca(:,2)) 856 CALL histwrite_phy(nid_mth,"SWTOAAS_NAT",itau_w,topsw_inca(:,3)) 857 CALL histwrite_phy(nid_mth,"SWTOAAS_AD",itau_w,topswad_inca(:)) 858 CALL histwrite_phy(nid_mth,"SWTOAAS_AI",itau_w,topswai_inca(:)) 859 CALL histwrite_phy(nid_mth,"SWTOACS_ZERO",itau_w,topsw0_inca(:,1)) 860 CALL histwrite_phy(nid_mth,"SWTOACS_AER",itau_w,topsw0_inca(:,2)) 861 CALL histwrite_phy(nid_mth,"SWTOACS_AD",itau_w,topswad0_inca(:)) 862 CALL histwrite_phy(nid_mth,"SWTOACS_NAT",itau_w,topsw0_inca(:,3)) 863 #endif 864 #ifndef INCA 848 865 IF (nqmax.GE.3) THEN 849 866 DO iq=3,nqmax … … 852 869 ENDDO 853 870 ENDIF 871 #endif 854 872 c 855 873 ENDIF !lev_histmth.GE.4 … … 1851 1869 ENDIF 1852 1870 C 1871 #if defined(INCA_AER) && defined(CPP_COUPLE) 1872 CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau) 1873 CALL histwrite_phy(nid_mth,"CCM1",itau_w,ccm(:,:,1)) 1874 CALL histwrite_phy(nid_mth,"CCM2",itau_w,ccm(:,:,2)) 1875 CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi) 1876 CALL histwrite_phy(nid_mth,"cldemi",itau_w,cldemi) 1877 CALL histwrite_phy(nid_mth,"SWTOAAS_ZERO",itau_w,topsw_inca(:,1)) 1878 CALL histwrite_phy(nid_mth,"SWTOAAS_AER",itau_w,topsw_inca(:,2)) 1879 CALL histwrite_phy(nid_mth,"SWTOAAS_NAT",itau_w,topsw_inca(:,3)) 1880 CALL histwrite_phy(nid_mth,"SWTOAAS_AD",itau_w,topswad_inca(:)) 1881 CALL histwrite_phy(nid_mth,"SWTOAAS_AI",itau_w,topswai_inca(:)) 1882 CALL histwrite_phy(nid_mth,"SWTOACS_ZERO",itau_w,topsw0_inca(:,1)) 1883 CALL histwrite_phy(nid_mth,"SWTOACS_AER",itau_w,topsw0_inca(:,2)) 1884 CALL histwrite_phy(nid_mth,"SWTOACS_AD",itau_w,topswad0_inca(:)) 1885 CALL histwrite_phy(nid_mth,"SWTOACS_NAT",itau_w,topsw0_inca(:,3)) 1886 #endif 1887 #ifndef INCA 1853 1888 IF (nqmax.GE.3) THEN 1854 1889 DO iq=3,nqmax … … 1857 1892 ENDDO 1858 1893 ENDIF 1894 #endif 1859 1895 c 1860 1896 ENDIF !lev_histmth.GE.4
Note: See TracChangeset
for help on using the changeset viewer.