Changeset 411 for LMDZ.3.3/branches/rel-LF/libf/phylmd
- Timestamp:
- Oct 15, 2002, 5:09:25 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r395 r411 2 2 c $Header$ 3 3 c 4 SUBROUTINE physiq (nlon,nlev,nqmax 4 SUBROUTINE physiq (nlon,nlev,nqmax, 5 5 . debut,lafin,rjourvrai,rjour_ecri,gmtime,pdtphys, 6 6 . paprs,pplay,pphi,pphis,paire,presnivs,clesphy0, … … 67 67 #include "control.h" 68 68 #include "temps.h" 69 c====================================================================== 70 LOGICAL ok_cvl ! pour activer le nouveau driver pour convection KE 71 PARAMETER (ok_cvl=.TRUE.) 72 LOGICAL ok_gust ! pour activer l'effet des gust sur flux surface 73 PARAMETER (ok_gust=.FALSE.) 69 74 c====================================================================== 70 75 LOGICAL check ! Verifier la conservation du modele en eau … … 183 188 REAL d_ps(klon) 184 189 190 cccIM 191 INTEGER klevp1 192 PARAMETER(klevp1=klev+1) 193 #include "raddim.h" 194 REAL*8 ZFSUP(KDLON,KFLEV+1) 195 REAL*8 ZFSDN(KDLON,KFLEV+1) 196 REAL*8 ZFSUP0(KDLON,KFLEV+1) 197 REAL*8 ZFSDN0(KDLON,KFLEV+1) 198 199 cccIM cf. FH 200 real u850(klon),v850(klon),u200(klon),v200(klon) 201 real u500(klon),v500(klon),phi500(klon) 202 203 logical ok_hf 204 real ecrit_hf 205 integer nid_hf 206 save ok_hf, ecrit_hf, nid_hf 207 208 c QUESTION : noms de variables ? 209 210 #define histhf 211 #ifdef histhf 212 data ok_hf,ecrit_hf/.true.,0.25/ 213 #else 214 data ok_hf/.false./ 215 #endif 216 185 217 INTEGER longcles 186 218 PARAMETER ( longcles = 20 ) … … 308 340 REAL Ma(klon,klev) ! undilute upward mass flux 309 341 SAVE Ma 342 REAL qcondc(klon,klev) ! in-cld water content from convect 343 SAVE qcondc 310 344 REAL ema_work1(klon, klev), ema_work2(klon, klev) 311 345 SAVE ema_work1, ema_work2 312 346 REAL wdn(klon), tdn(klon), qdn(klon) 347 348 REAL wd(klon) ! sb 349 SAVE wd ! sb 350 313 351 c Variables locales pour la couche limite (al1): 314 352 c … … 424 462 REAL cldemi(klon,klev) ! emissivite infrarouge 425 463 c 426 C §§§PB464 CXXX PB 427 465 REAL fluxq(klon,klev, nbsrf) ! flux turbulent d'humidite 428 466 REAL fluxt(klon,klev, nbsrf) ! flux turbulent de chaleur … … 434 472 REAL zxfluxu(klon, klev) 435 473 REAL zxfluxv(klon, klev) 436 C §§§474 CXXX 437 475 REAL heat(klon,klev) ! chauffage solaire 438 476 REAL heat0(klon,klev) ! chauffage solaire ciel clair … … 447 485 SAVE heat,cool,albpla,topsw,toplw,solsw,sollw,sollwdown 448 486 SAVE topsw0,toplw0,solsw0,sollw0, heat0, cool0 487 cccIM 488 SAVE ZFSUP,ZFSDN,ZFSUP0,ZFSDN0 489 449 490 INTEGER itaprad 450 491 SAVE itaprad … … 621 662 character*20 varunits 622 663 C Variables liees au bilan d'energie et d'enthalpi 623 INTEGER if_ebil ! level for energy conserv. dignostics624 SAVE if_ebil625 664 REAL ztsol(klon) 626 665 REAL h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot … … 637 676 SAVE ip_ebil 638 677 DATA ip_ebil/2/ 678 INTEGER if_ebil ! level for energy conserv. dignostics 679 SAVE if_ebil 680 c+jld ec_conser 681 REAL d_t_ec(klon,klev) ! tendance du a la conersion Ec -> E thermique 682 REAL ZRCPD 683 c-jld ec_conser 684 cIM 685 REAL t2m(klon,nbsrf), q2m(klon,nbsrf) 686 REAL u10m(klon,nbsrf), v10m(klon,nbsrf) 687 REAL zt2m(klon), zq2m(klon) 688 REAL zu10m(klon), zv10m(klon) 689 CHARACTER*40 t2mincels, t2maxcels 639 690 c 640 691 c Declaration des constantes et des fonctions thermodynamiques … … 731 782 ENDIF 732 783 PRINT*, "Clef pour la convection, iflag_con=", iflag_con 784 PRINT*, "Clef pour le driver de la convection, ok_cvl=", ok_cvl 733 785 c 734 786 cKE43 … … 778 830 ccc ecrit_ins = NINT(86400./dtime *0.5) ! 2 fois par jour 779 831 ccc ecrit_ins = NINT(86400./dtime *0.25) ! 4 fois par jour 832 ecrit_ins = NINT(86400./dtime/48.) ! a chaque pas de temps ==> PB. dans time_counter pour 1mois 780 833 ecrit_ins = NINT(86400./dtime/12.) ! toutes les deux heures 781 ecrit_ins = NINT(86400./dtime/48.) ! a chaque pas de temps782 834 IF (ok_instan) THEN 783 835 PRINT*, 'La frequence de sortie instant. est de ', ecrit_ins … … 803 855 c 804 856 c 805 c Gestion calendrier 806 807 c 808 IF (ok_journe) THEN 809 c 810 idayref = day_ref 811 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 812 c 813 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 814 DO i = 1, iim 815 zx_lon(i,1) = rlon(i+1) 816 zx_lon(i,jjmp1) = rlon(i+1) 817 ENDDO 818 DO ll=1,klev 819 znivsig(ll)=float(ll) 820 ENDDO 821 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 822 write(*,*)'zx_lon = ',zx_lon(:,1) 823 write(*,*)'zx_lat = ',zx_lat(1,:) 824 CALL histbeg("histday", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 825 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 826 . nhori, nid_day) 827 write(*,*)'Journee ', itau_phy, zjulian 828 CALL histvert(nid_day, "presnivs", "Vertical levels", "mb", 829 . klev, presnivs, nvert) 830 c call histvert(nid_day, 'sig_s', 'Niveaux sigma','-', 831 c . klev, znivsig, nvert) 832 c 833 zsto = dtime 834 zout = dtime * FLOAT(ecrit_day) 835 C Essai writephys 836 c nom_fichier = 'histday1' 837 c call writephy_ini(fid_day,nom_fichier,klon,iim,jjmp1,klev, 838 c . rlon,rlat, presnivs, 839 c . zjulian, dtime) 840 c call writephy_def(prof2d_on, fid_day, "once", zsto, zout, 0) 841 c call writephy_def(prof3d_on, fid_day, "once", zsto, zout, 842 c . klev) 843 c call writephy_def(prof2d_av, fid_day, "ave(X)", zsto, zout, 0) 844 c call writephy_def(prof3d_av, fid_day, "ave(X)", zsto, zout, 845 c . klev) 846 847 c 848 CALL histdef(nid_day, "phis", "Surface geop. height", "-", 849 . iim,jjmp1,nhori, 1,1,1, -99, 32, 850 . "once", zsto,zout) 851 c 852 CALL histdef(nid_day, "aire", "Grid area", "-", 853 . iim,jjmp1,nhori, 1,1,1, -99, 32, 854 . "once", zsto,zout) 855 c 856 c Champs 2D: 857 c 858 CALL histdef(nid_day, "tsol", "Surface Temperature", "K", 859 . iim,jjmp1,nhori, 1,1,1, -99, 32, 860 . "ave(X)", zsto,zout) 861 c 862 CALL histdef(nid_day, "tter", "Surface Temperature", "K", 863 . iim,jjmp1,nhori, 1,1,1, -99, 32, 864 . "ave(X)", zsto,zout) 865 c 866 CALL histdef(nid_day, "tlic", "Surface Temperature", "K", 867 . iim,jjmp1,nhori, 1,1,1, -99, 32, 868 . "ave(X)", zsto,zout) 869 c 870 CALL histdef(nid_day, "toce", "Surface Temperature", "K", 871 . iim,jjmp1,nhori, 1,1,1, -99, 32, 872 . "ave(X)", zsto,zout) 873 c 874 CALL histdef(nid_day, "tsic", "Surface Temperature", "K", 875 . iim,jjmp1,nhori, 1,1,1, -99, 32, 876 . "ave(X)", zsto,zout) 877 c 878 CALL histdef(nid_day, "psol", "Surface Pressure", "Pa", 879 . iim,jjmp1,nhori, 1,1,1, -99, 32, 880 . "ave(X)", zsto,zout) 881 c 882 CALL histdef(nid_day, "precip","Precipitation Totale liq+sol" 883 . , "kg/s", 884 . iim,jjmp1,nhori, 1,1,1, -99, 32, 885 . "ave(X)", zsto,zout) 886 c 887 CALL histdef(nid_day, "snow", "Snow fall", "kg/s", 888 . iim,jjmp1,nhori, 1,1,1, -99, 32, 889 . "ave(X)", zsto,zout) 890 c 891 CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2", 892 . iim,jjmp1,nhori, 1,1,1, -99, 32, 893 . "ave(X)", zsto,zout) 894 c 895 CALL histdef(nid_day, "evap", "Evaporation", "kg/s", 896 . iim,jjmp1,nhori, 1,1,1, -99, 32, 897 . "ave(X)", zsto,zout) 898 c 899 CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2", 900 . iim,jjmp1,nhori, 1,1,1, -99, 32, 901 . "ave(X)", zsto,zout) 902 c 903 CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2", 904 . iim,jjmp1,nhori, 1,1,1, -99, 32, 905 . "ave(X)", zsto,zout) 906 c 907 CALL histdef(nid_day, "sols", "Net Solar rad. at surf.", 908 . "W/m2", 909 . iim,jjmp1,nhori, 1,1,1, -99, 32, 910 . "ave(X)", zsto,zout) 911 c 912 CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2", 913 . iim,jjmp1,nhori, 1,1,1, -99, 32, 914 . "ave(X)", zsto,zout) 915 c 916 CALL histdef(nid_day, "solldown", "Down. IR rad. at surface", 917 . "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32, 918 . "ave(X)", zsto,zout) 919 c 920 CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2", 921 . iim,jjmp1,nhori, 1,1,1, -99, 32, 922 . "ave(X)", zsto,zout) 923 c 924 CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2", 925 . iim,jjmp1,nhori, 1,1,1, -99, 32, 926 . "ave(X)", zsto,zout) 927 c 928 CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2", 929 . iim,jjmp1,nhori, 1,1,1, -99, 32, 930 . "ave(X)", zsto,zout) 931 c 932 CALL histdef(nid_day, "frtu", "Zonal wind stress", "Pa", 933 . iim,jjmp1,nhori, 1,1,1, -99, 32, 934 . "ave(X)", zsto,zout) 935 c 936 CALL histdef(nid_day, "frtv", "Meridional wind stress", "Pa", 937 . iim,jjmp1,nhori, 1,1,1, -99, 32, 938 . "ave(X)", zsto,zout) 939 c 940 C §§§ PB flux pour chauqe sous surface 941 C 942 DO nsrf = 1, nbsrf 943 C 944 call histdef(nid_day, "pourc_"//clnsurf(nsrf), 945 $ "Fraction"//clnsurf(nsrf), "W/m2", 946 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 947 $ "ave(X)", zsto,zout) 948 C 949 call histdef(nid_day, "tsol_"//clnsurf(nsrf), 950 $ "Fraction"//clnsurf(nsrf), "W/m2", 951 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 952 $ "ave(X)", zsto,zout) 953 C 954 call histdef(nid_day, "sens_"//clnsurf(nsrf), 955 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 956 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 957 $ "ave(X)", zsto,zout) 958 c 959 call histdef(nid_day, "lat_"//clnsurf(nsrf), 960 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 961 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 962 $ "ave(X)", zsto,zout) 963 C 964 call histdef(nid_day, "taux_"//clnsurf(nsrf), 965 $ "Zonal wind stress"//clnsurf(nsrf),"Pa", 966 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 967 $ "ave(X)", zsto,zout) 968 969 call histdef(nid_day, "tauy_"//clnsurf(nsrf), 970 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 971 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 972 $ "ave(X)", zsto,zout) 973 C 974 call histdef(nid_day, "albe_"//clnsurf(nsrf), 975 $ "Albedo surf. "//clnsurf(nsrf), "W/m2", 976 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 977 $ "ave(X)", zsto,zout) 978 C 979 call histdef(nid_day, "rugs_"//clnsurf(nsrf), 980 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 981 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 982 $ "ave(X)", zsto,zout) 983 984 C§§§ 985 END DO 986 987 CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-", 988 . iim,jjmp1,nhori, 1,1,1, -99, 32, 989 . "ave(X)", zsto,zout) 990 c 991 CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-", 992 . iim,jjmp1,nhori, 1,1,1, -99, 32, 993 . "ave(X)", zsto,zout) 994 c 995 CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-", 996 . iim,jjmp1,nhori, 1,1,1, -99, 32, 997 . "ave(X)", zsto,zout) 998 c 999 CALL histdef(nid_day, "cldh", "High-level cloudiness", "-", 1000 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1001 . "ave(X)", zsto,zout) 1002 c 1003 CALL histdef(nid_day, "cldt", "Total cloudiness", "-", 1004 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1005 . "ave(X)", zsto,zout) 1006 c 1007 CALL histdef(nid_day, "cldq", "Cloud liquid water path", "-", 1008 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1009 . "ave(X)", zsto,zout) 1010 c 1011 c Champs 3D: 1012 c 1013 CALL histdef(nid_day, "temp", "Air temperature", "K", 1014 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1015 . "ave(X)", zsto,zout) 1016 c 1017 CALL histdef(nid_day, "ovap", "Specific humidity", "Kg/Kg", 1018 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1019 . "ave(X)", zsto,zout) 1020 c 1021 CALL histdef(nid_day, "geop", "Geopotential height", "m", 1022 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1023 . "ave(X)", zsto,zout) 1024 c 1025 CALL histdef(nid_day, "vitu", "Zonal wind", "m/s", 1026 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1027 . "ave(X)", zsto,zout) 1028 c 1029 CALL histdef(nid_day, "vitv", "Meridional wind", "m/s", 1030 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1031 . "ave(X)", zsto,zout) 1032 c 1033 CALL histdef(nid_day, "vitw", "Vertical wind", "m/s", 1034 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1035 . "ave(X)", zsto,zout) 1036 c 1037 CALL histdef(nid_day, "pres", "Air pressure", "Pa", 1038 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1039 . "ave(X)", zsto,zout) 1040 c 1041 CALL histend(nid_day) 1042 c 1043 ndex2d = 0 1044 ndex3d = 0 1045 c 1046 ENDIF ! fin de test sur ok_journe 1047 c 1048 IF (ok_mensuel) THEN 1049 c 1050 idayref = day_ref 1051 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 1052 c 1053 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 1054 DO i = 1, iim 1055 zx_lon(i,1) = rlon(i+1) 1056 zx_lon(i,jjmp1) = rlon(i+1) 1057 ENDDO 1058 DO ll=1,klev 1059 znivsig(ll)=float(ll) 1060 ENDDO 1061 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 1062 CALL histbeg("histmth.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 1063 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 1064 . nhori, nid_mth) 1065 write(*,*)'Mensuel ', itau_phy, zjulian 1066 CALL histvert(nid_mth, "presnivs", "Vertical levels", "mb", 1067 . klev, presnivs, nvert) 1068 c call histvert(nid_mth, 'sig_s', 'Niveaux sigma','-', 1069 c . klev, znivsig, nvert) 1070 c 1071 zsto = dtime 1072 zout = dtime * ecrit_mth 1073 c 1074 CALL histdef(nid_mth, "phis", "Surface geop. height", "-", 1075 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1076 . "once", zsto,zout) 1077 c 1078 CALL histdef(nid_mth, "aire", "Grid area", "-", 1079 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1080 . "once", zsto,zout) 1081 c 1082 c Champs 2D: 1083 c 1084 CALL histdef(nid_mth, "tsol", "Surface Temperature", "K", 1085 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1086 . "ave(X)", zsto,zout) 1087 c 1088 CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa", 1089 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1090 . "ave(X)", zsto,zout) 1091 c 1092 CALL histdef(nid_mth, "qsol", "Surface humidity", "mm", 1093 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1094 . "ave(X)", zsto,zout) 1095 c 1096 CALL histdef(nid_mth, "precip", "Precipitation Totale liq+sol", 1097 . "kg/s", 1098 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1099 . "ave(X)", zsto,zout) 1100 c 1101 CALL histdef(nid_mth, "plul", "Large-scale Precip.", "kg/s", 1102 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1103 . "ave(X)", zsto,zout) 1104 c 1105 CALL histdef(nid_mth, "pluc", "Convective Precip.", "kg/s", 1106 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1107 . "ave(X)", zsto,zout) 1108 c 1109 CALL histdef(nid_mth, "snow", "Snow fall", "kg/s", 1110 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1111 . "ave(X)", zsto,zout) 1112 c 1113 CALL histdef(nid_mth, "snow_mass", "Snow Mass", "kg/m2", 1114 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1115 . "ave(X)", zsto,zout) 1116 c 1117 CALL histdef(nid_mth, "evap", "Evaporation", "kg/s", 1118 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1119 . "ave(X)", zsto,zout) 1120 c 1121 CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2", 1122 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1123 . "ave(X)", zsto,zout) 1124 c 1125 CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2", 1126 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1127 . "ave(X)", zsto,zout) 1128 c 1129 CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2", 1130 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1131 . "ave(X)", zsto,zout) 1132 c 1133 CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2", 1134 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1135 . "ave(X)", zsto,zout) 1136 c 1137 CALL histdef(nid_mth, "solldown", "Down. IR rad. at surface", 1138 . "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32, 1139 . "ave(X)", zsto,zout) 1140 c 1141 CALL histdef(nid_mth, "tops0", "Solar rad. at TOA", "W/m2", 1142 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1143 . "ave(X)", zsto,zout) 1144 c 1145 CALL histdef(nid_mth, "topl0", "IR rad. at TOA", "W/m2", 1146 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1147 . "ave(X)", zsto,zout) 1148 c 1149 CALL histdef(nid_mth, "sols0", "Solar rad. at surf.", "W/m2", 1150 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1151 . "ave(X)", zsto,zout) 1152 c 1153 CALL histdef(nid_mth, "soll0", "IR rad. at surface", "W/m2", 1154 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1155 . "ave(X)", zsto,zout) 1156 c 1157 CALL histdef(nid_mth, "bils", "Surf. total heat flux", "W/m2", 1158 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1159 . "ave(X)", zsto,zout) 1160 c 1161 CALL histdef(nid_mth, "sens", "Sensible heat flux", "W/m2", 1162 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1163 . "ave(X)", zsto,zout) 1164 c 1165 CALL histdef(nid_mth, "fder", "Heat flux derivation", "W/m2", 1166 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1167 . "ave(X)", zsto,zout) 1168 c 1169 CALL histdef(nid_mth, "frtu", "Zonal wind stress", "Pa", 1170 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1171 . "ave(X)", zsto,zout) 1172 c 1173 CALL histdef(nid_mth, "frtv", "Meridional wind stress", "Pa", 1174 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1175 . "ave(X)", zsto,zout) 1176 c 1177 DO nsrf = 1, nbsrf 1178 C 1179 call histdef(nid_mth, "pourc_"//clnsurf(nsrf), 1180 $ "Fraction "//clnsurf(nsrf), "W/m2", 1181 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1182 $ "ave(X)", zsto,zout) 1183 C 1184 call histdef(nid_mth, "tsol_"//clnsurf(nsrf), 1185 $ "Fraction "//clnsurf(nsrf), "W/m2", 1186 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1187 $ "ave(X)", zsto,zout) 1188 C 1189 call histdef(nid_mth, "sens_"//clnsurf(nsrf), 1190 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 1191 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1192 $ "ave(X)", zsto,zout) 1193 c 1194 call histdef(nid_mth, "lat_"//clnsurf(nsrf), 1195 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 1196 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1197 $ "ave(X)", zsto,zout) 1198 C 1199 call histdef(nid_mth, "taux_"//clnsurf(nsrf), 1200 $ "Zonal wind stress"//clnsurf(nsrf), "Pa", 1201 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1202 $ "ave(X)", zsto,zout) 1203 1204 call histdef(nid_mth, "tauy_"//clnsurf(nsrf), 1205 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 1206 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1207 $ "ave(X)", zsto,zout) 1208 c 1209 call histdef(nid_mth, "albe_"//clnsurf(nsrf), 1210 $ "Albedo surf. "//clnsurf(nsrf), "W/m2", 1211 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1212 $ "ave(X)", zsto,zout) 1213 c 1214 call histdef(nid_mth, "rugs_"//clnsurf(nsrf), 1215 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 1216 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1217 $ "ave(X)", zsto,zout) 1218 c 1219 CALL histdef(nid_mth, "ages_"//clnsurf(nsrf), "Snow age","day", 1220 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1221 . "ave(X)", zsto,zout) 1222 1223 END DO 1224 C 1225 CALL histdef(nid_mth, "sicf", "Sea-ice fraction", "-", 1226 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1227 . "ave(X)", zsto,zout) 1228 c 1229 CALL histdef(nid_mth, "albs", "Surface albedo", "-", 1230 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1231 . "ave(X)", zsto,zout) 1232 CALL histdef(nid_mth, "albslw", "Surface albedo LW", "-", 1233 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1234 . "ave(X)", zsto,zout) 1235 c 1236 CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-", 1237 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1238 . "ave(X)", zsto,zout) 1239 c 1240 CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-", 1241 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1242 . "ave(X)", zsto,zout) 1243 c 1244 CALL histdef(nid_mth, "cldl", "Low-level cloudiness", "-", 1245 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1246 . "ave(X)", zsto,zout) 1247 c 1248 CALL histdef(nid_mth, "cldm", "Mid-level cloudiness", "-", 1249 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1250 . "ave(X)", zsto,zout) 1251 c 1252 CALL histdef(nid_mth, "cldh", "High-level cloudiness", "-", 1253 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1254 . "ave(X)", zsto,zout) 1255 c 1256 CALL histdef(nid_mth, "cldt", "Total cloudiness", "-", 1257 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1258 . "ave(X)", zsto,zout) 1259 c 1260 CALL histdef(nid_mth, "cldq", "Cloud liquid water path", "-", 1261 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1262 . "ave(X)", zsto,zout) 1263 c 1264 CALL histdef(nid_mth, "ue", "Zonal energy transport", "-", 1265 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1266 . "ave(X)", zsto,zout) 1267 c 1268 CALL histdef(nid_mth, "ve", "Merid energy transport", "-", 1269 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1270 . "ave(X)", zsto,zout) 1271 c 1272 CALL histdef(nid_mth, "uq", "Zonal humidity transport", "-", 1273 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1274 . "ave(X)", zsto,zout) 1275 c 1276 CALL histdef(nid_mth, "vq", "Merid humidity transport", "-", 1277 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1278 . "ave(X)", zsto,zout) 1279 cKE43 1280 IF (iflag_con .GE. 3) THEN ! sb 1281 c 1282 CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/Kg", 1283 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1284 . "ave(X)", zsto,zout) 1285 c 1286 CALL histdef(nid_mth, "pbase", "Cld base pressure", "hPa", 1287 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1288 . "ave(X)", zsto,zout) 1289 c 1290 CALL histdef(nid_mth, "ptop", "Cld top pressure", "hPa", 1291 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1292 . "ave(X)", zsto,zout) 1293 c 1294 CALL histdef(nid_mth, "fbase", "Cld base mass flux", "Kg/m2/s", 1295 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1296 . "ave(X)", zsto,zout) 1297 c 1298 c 1299 ENDIF 1300 c34EK 1301 c 1302 c Champs 3D: 1303 c 1304 CALL histdef(nid_mth, "temp", "Air temperature", "K", 1305 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1306 . "ave(X)", zsto,zout) 1307 c 1308 CALL histdef(nid_mth, "ovap", "Specific humidity", "Kg/Kg", 1309 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1310 . "ave(X)", zsto,zout) 1311 c 1312 CALL histdef(nid_mth, "geop", "Geopotential height", "m", 1313 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1314 . "ave(X)", zsto,zout) 1315 c 1316 CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s", 1317 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1318 . "ave(X)", zsto,zout) 1319 c 1320 CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s", 1321 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1322 . "ave(X)", zsto,zout) 1323 c 1324 CALL histdef(nid_mth, "vitw", "Vertical wind", "m/s", 1325 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1326 . "ave(X)", zsto,zout) 1327 c 1328 CALL histdef(nid_mth, "pres", "Air pressure", "Pa", 1329 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1330 . "ave(X)", zsto,zout) 1331 c 1332 CALL histdef(nid_mth, "rneb", "Cloud fraction", "-", 1333 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1334 . "ave(X)", zsto,zout) 1335 c 1336 CALL histdef(nid_mth, "rhum", "Relative humidity", "-", 1337 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1338 . "ave(X)", zsto,zout) 1339 c 1340 CALL histdef(nid_mth, "clwcon", "Cloud Liquid water content" 1341 . , "kg/kg", 1342 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1343 . "ave(X)", zsto,zout) 1344 c 1345 CALL histdef(nid_mth, "oliq", "Liquid water content", "kg/kg", 1346 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1347 . "ave(X)", zsto,zout) 1348 c 1349 CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s", 1350 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1351 . "ave(X)", zsto,zout) 1352 c 1353 CALL histdef(nid_mth, "dqdyn", "Dynamics dQ", "Kg/Kg/s", 1354 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1355 . "ave(X)", zsto,zout) 1356 c 1357 CALL histdef(nid_mth, "dtcon", "Convection dT", "K/s", 1358 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1359 . "ave(X)", zsto,zout) 1360 c 1361 CALL histdef(nid_mth, "ducon", "Convection du", "m/s2", 1362 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1363 . "ave(X)", zsto,zout) 1364 c 1365 CALL histdef(nid_mth, "dqcon", "Convection dQ", "Kg/Kg/s", 1366 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1367 . "ave(X)", zsto,zout) 1368 c 1369 CALL histdef(nid_mth, "dtlsc", "Condensation dT", "K/s", 1370 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1371 . "ave(X)", zsto,zout) 1372 c 1373 CALL histdef(nid_mth, "dqlsc", "Condensation dQ", "Kg/Kg/s", 1374 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1375 . "ave(X)", zsto,zout) 1376 c 1377 CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s", 1378 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1379 . "ave(X)", zsto,zout) 1380 c 1381 CALL histdef(nid_mth, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", 1382 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1383 . "ave(X)", zsto,zout) 1384 c 1385 CALL histdef(nid_mth, "dteva", "Reevaporation dT", "K/s", 1386 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1387 . "ave(X)", zsto,zout) 1388 c 1389 CALL histdef(nid_mth, "dqeva", "Reevaporation dQ", "Kg/Kg/s", 1390 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1391 . "ave(X)", zsto,zout) 1392 1393 CALL histdef(nid_mth, "ptconv", "POINTS CONVECTIFS"," ", 1394 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1395 . "ave(X)", zsto,zout) 1396 1397 CALL histdef(nid_mth, "ratqs", "RATQS"," ", 1398 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1399 . "ave(X)", zsto,zout) 1400 1401 c 1402 CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s", 1403 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1404 . "ave(X)", zsto,zout) 1405 1406 CALL histdef(nid_mth, "dqajs", "Dry adjust. dQ", "Kg/Kg/s", 1407 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1408 . "ave(X)", zsto,zout) 1409 c 1410 CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s", 1411 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1412 . "ave(X)", zsto,zout) 1413 c 1414 CALL histdef(nid_mth, "dtsw0", "SW radiation dT", "K/s", 1415 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1416 . "ave(X)", zsto,zout) 1417 c 1418 CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s", 1419 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1420 . "ave(X)", zsto,zout) 1421 c 1422 CALL histdef(nid_mth, "dtlw0", "LW radiation dT", "K/s", 1423 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1424 . "ave(X)", zsto,zout) 1425 c 1426 CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2", 1427 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1428 . "ave(X)", zsto,zout) 1429 c 1430 CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2", 1431 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1432 . "ave(X)", zsto,zout) 1433 c 1434 IF (ok_orodr) THEN 1435 CALL histdef(nid_mth, "duoro", "Orography dU", "m/s2", 1436 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1437 . "ave(X)", zsto,zout) 1438 c 1439 CALL histdef(nid_mth, "dvoro", "Orography dV", "m/s2", 1440 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1441 . "ave(X)", zsto,zout) 1442 c 1443 ENDIF 1444 C 1445 IF (ok_orolf) THEN 1446 CALL histdef(nid_mth, "dulif", "Orography dU", "m/s2", 1447 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1448 . "ave(X)", zsto,zout) 1449 c 1450 CALL histdef(nid_mth, "dvlif", "Orography dV", "m/s2", 1451 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1452 . "ave(X)", zsto,zout) 1453 ENDIF 1454 C 1455 CALL histdef(nid_mth, "ozone", "Ozone concentration", "-", 1456 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1457 . "ave(X)", zsto,zout) 1458 c 1459 if (nqmax.GE.3) THEN 1460 DO iq=1,nqmax-2 1461 IF (iq.LE.99) THEN 1462 WRITE(str2,'(i2.2)') iq 1463 CALL histdef(nid_mth, "trac"//str2, "Tracer No."//str2, "-", 1464 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1465 . "ave(X)", zsto,zout) 1466 ELSE 1467 PRINT*, "Trop de traceurs" 1468 CALL abort 1469 ENDIF 1470 ENDDO 1471 ENDIF 1472 c 1473 cKE43 1474 IF (iflag_con.GE.3) THEN ! (sb) 1475 c 1476 CALL histdef(nid_mth, "upwd", "saturated updraft", "Kg/m2/s", 1477 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1478 . "ave(X)", zsto,zout) 1479 c 1480 CALL histdef(nid_mth, "dnwd", "saturated downdraft","Kg/m2/s", 1481 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1482 . "ave(X)", zsto,zout) 1483 c 1484 CALL histdef(nid_mth, "dnwd0", "unsat. downdraft", "Kg/m2/s", 1485 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1486 . "ave(X)", zsto,zout) 1487 c 1488 CALL histdef(nid_mth,"Ma","undilute adiab updraft","Kg/m2/s", 1489 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1490 . "ave(X)", zsto,zout) 1491 c 1492 c 1493 ENDIF 1494 c34EK 1495 CALL histend(nid_mth) 1496 c 1497 ndex2d = 0 1498 ndex3d = 0 1499 c 1500 ENDIF ! fin de test sur ok_mensuel 1501 c 1502 c 1503 IF (ok_instan) THEN 1504 c 1505 idayref = day_ref 1506 CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) 1507 c 1508 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon) 1509 DO i = 1, iim 1510 zx_lon(i,1) = rlon(i+1) 1511 zx_lon(i,jjmp1) = rlon(i+1) 1512 ENDDO 1513 DO ll=1,klev 1514 znivsig(ll)=float(ll) 1515 ENDDO 1516 CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat) 1517 CALL histbeg("histins", iim,zx_lon(:,1), jjmp1,zx_lat(1,:), 1518 . 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 1519 . nhori, nid_ins) 1520 write(*,*)'Inst ', itau_phy, zjulian 1521 CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", 1522 . klev, presnivs, nvert) 1523 c call histvert(nid_ins, 'sig_s', 'Niveaux sigma','-', 1524 c . klev, znivsig, nvert) 1525 c 1526 c 1527 zsto = dtime * ecrit_ins 1528 zout = dtime * ecrit_ins 1529 C 1530 CALL histdef(nid_ins, "phis", "Surface geop. height", "-", 1531 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1532 . "once", zsto,zout) 1533 c 1534 CALL histdef(nid_ins, "aire", "Grid area", "-", 1535 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1536 . "once", zsto,zout) 1537 c 1538 c Champs 2D: 1539 c 1540 CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", 1541 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1542 . "inst(X)", zsto,zout) 1543 c 1544 CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", 1545 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1546 . "inst(X)", zsto,zout) 1547 c 1548 CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", 1549 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1550 . "inst(X)", zsto,zout) 1551 c 1552 CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", 1553 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1554 . "inst(X)", zsto,zout) 1555 1556 CALL histdef(nid_ins, "qsol", "Surface humidity", "mm", 1557 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1558 . "inst(X)", zsto,zout) 1559 c 1560 CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", 1561 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1562 . "inst(X)", zsto,zout) 1563 c 1564 CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", 1565 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1566 . "inst(X)", zsto,zout) 1567 c 1568 CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", 1569 . "kg/s", 1570 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1571 . "inst(X)", zsto,zout) 1572 c 1573 CALL histdef(nid_ins, "snow", "Snow fall", "kg/s", 1574 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1575 . "inst(X)", zsto,zout) 1576 c 1577 CALL histdef(nid_ins, "snow_mass", "Snow Mass", "kg/m2", 1578 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1579 . "inst(X)", zsto,zout) 1580 c 1581 CALL histdef(nid_ins, "topl", "OLR", "W/m2", 1582 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1583 . "inst(X)", zsto,zout) 1584 c 1585 CALL histdef(nid_ins, "evap", "Evaporation", "kg/s", 1586 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1587 . "inst(X)", zsto,zout) 1588 c 1589 CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", 1590 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1591 . "inst(X)", zsto,zout) 1592 c 1593 CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", 1594 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1595 . "inst(X)", zsto,zout) 1596 c 1597 CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", 1598 . "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32, 1599 . "inst(X)", zsto,zout) 1600 c 1601 CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", 1602 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1603 . "inst(X)", zsto,zout) 1604 c 1605 CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", 1606 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1607 . "inst(X)", zsto,zout) 1608 c 1609 CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", 1610 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1611 . "inst(X)", zsto,zout) 1612 c 1613 CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", 1614 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1615 . "inst(X)", zsto,zout) 1616 c 1617 CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", 1618 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1619 . "inst(X)", zsto,zout) 1620 c 1621 CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", 1622 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1623 . "inst(X)", zsto,zout) 1624 c 1625 CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", 1626 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1627 . "inst(X)", zsto,zout) 1628 1629 DO nsrf = 1, nbsrf 1630 C 1631 call histdef(nid_ins, "pourc_"//clnsurf(nsrf), 1632 $ "Fraction"//clnsurf(nsrf), "W/m2", 1633 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1634 $ "inst(X)", zsto,zout) 1635 1636 call histdef(nid_ins, "sens_"//clnsurf(nsrf), 1637 $ "Sensible heat flux "//clnsurf(nsrf), "W/m2", 1638 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1639 $ "inst(X)", zsto,zout) 1640 c 1641 call histdef(nid_ins, "tsol_"//clnsurf(nsrf), 1642 $ "Surface Temperature"//clnsurf(nsrf), "W/m2", 1643 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1644 $ "inst(X)", zsto,zout) 1645 c 1646 call histdef(nid_ins, "lat_"//clnsurf(nsrf), 1647 $ "Latent heat flux "//clnsurf(nsrf), "W/m2", 1648 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1649 $ "inst(X)", zsto,zout) 1650 C 1651 call histdef(nid_ins, "taux_"//clnsurf(nsrf), 1652 $ "Zonal wind stress"//clnsurf(nsrf),"Pa", 1653 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1654 $ "inst(X)", zsto,zout) 1655 1656 call histdef(nid_ins, "tauy_"//clnsurf(nsrf), 1657 $ "Meridional xind stress "//clnsurf(nsrf), "Pa", 1658 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1659 $ "inst(X)", zsto,zout) 1660 c 1661 call histdef(nid_ins, "albe_"//clnsurf(nsrf), 1662 $ "Albedo "//clnsurf(nsrf), "-", 1663 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1664 $ "inst(X)", zsto,zout) 1665 c 1666 call histdef(nid_ins, "rugs_"//clnsurf(nsrf), 1667 $ "rugosite "//clnsurf(nsrf), "-", 1668 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 1669 $ "inst(X)", zsto,zout) 1670 C§§§ 1671 END DO 1672 CALL histdef(nid_ins, "rugs", "rugosity", "-", 1673 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1674 . "inst(X)", zsto,zout) 1675 1676 c 1677 CALL histdef(nid_ins, "albs", "Surface albedo", "-", 1678 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1679 . "inst(X)", zsto,zout) 1680 CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-", 1681 . iim,jjmp1,nhori, 1,1,1, -99, 32, 1682 . "inst(X)", zsto,zout) 1683 c 1684 c 1685 c Champs 3D: 1686 c 1687 CALL histdef(nid_ins, "temp", "Temperature", "K", 1688 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1689 . "inst(X)", zsto,zout) 1690 c 1691 CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", 1692 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1693 . "inst(X)", zsto,zout) 1694 c 1695 CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", 1696 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1697 . "inst(X)", zsto,zout) 1698 c 1699 CALL histdef(nid_ins, "geop", "Geopotential height", "m", 1700 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1701 . "inst(X)", zsto,zout) 1702 c 1703 CALL histdef(nid_ins, "pres", "Air pressure", "Pa", 1704 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1705 . "inst(X)", zsto,zout) 1706 c 1707 CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", 1708 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1709 . "inst(X)", zsto,zout) 1710 c 1711 CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", 1712 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 1713 . "inst(X)", zsto,zout) 1714 c 1715 1716 CALL histend(nid_ins) 1717 c 1718 ndex2d = 0 1719 ndex3d = 0 1720 c 1721 ENDIF 1722 1723 c$$$PB Positionner date0 pour initialisation de ORCHIDEE 857 cccIM 858 t2mincels = 't_min(X)' 859 t2maxcels = 't_max(X)' 860 861 cccIM cf. FH 862 c 863 c============================================================= 864 c Initialisation des sorties 865 c============================================================= 866 #ifdef histhf 867 #include "ini_histhf.h" 868 #endif 869 870 #include "ini_histday.h" 871 #include "ini_histmth.h" 872 #include "ini_histins.h" 873 874 cXXXPB Positionner date0 pour initialisation de ORCHIDEE 1724 875 date0 = zjulian 1725 876 C date0 = day_ini … … 1880 1031 IF (if_ebil.ge.2) THEN 1881 1032 ztit='after reevap' 1882 CALL diagetpq(paire,ztit,ip_ebil,2, 2,dtime1033 CALL diagetpq(paire,ztit,ip_ebil,2,1,dtime 1883 1034 e , t_seri,q_seri,ql_seri,qs_seri,u_seri,v_seri,paprs,pplay 1884 1035 s , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec) … … 1940 1091 s fluxt,fluxq,fluxu,fluxv,cdragh,cdragm, 1941 1092 s dsens, devap, 1942 s ycoefh,yu1,yv1) 1943 1944 c 1945 C§§§ PB 1946 C§§§ Incrementation des flux 1947 C§§ 1093 s ycoefh,yu1,yv1, t2m, q2m, u10m, v10m) 1094 c 1095 CXXX PB 1096 CXXX Incrementation des flux 1097 CXXX 1948 1098 zxfluxt=0. 1949 1099 zxfluxq=0. … … 1999 1149 zxtsol(i) = 0.0 2000 1150 zxfluxlat(i) = 0.0 1151 cccIM 1152 zt2m(i) = 0.0 1153 zq2m(i) = 0.0 1154 zu10m(i) = 0.0 1155 zv10m(i) = 0.0 1156 c 2001 1157 IF ( abs( pctsrf(i, is_ter) + pctsrf(i, is_lic) + 2002 1158 $ pctsrf(i, is_oce) + pctsrf(i, is_sic) - 1.) .GT. EPSFRA) … … 2008 1164 DO nsrf = 1, nbsrf 2009 1165 DO i = 1, klon 2010 c $$$IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN1166 c IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN 2011 1167 ftsol(i,nsrf) = ftsol(i,nsrf) + d_ts(i,nsrf) 2012 1168 zxtsol(i) = zxtsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf) 2013 1169 zxfluxlat(i) = zxfluxlat(i) + fluxlat(i,nsrf)*pctsrf(i,nsrf) 2014 c$$$ ENDIF 1170 cccIM 1171 zt2m(i) = zt2m(i) + t2m(i,nsrf)*pctsrf(i,nsrf) 1172 zq2m(i) = zq2m(i) + q2m(i,nsrf)*pctsrf(i,nsrf) 1173 zu10m(i) = zu10m(i) + u10m(i,nsrf)*pctsrf(i,nsrf) 1174 zv10m(i) = zv10m(i) + v10m(i,nsrf)*pctsrf(i,nsrf) 1175 c ENDIF 2015 1176 ENDDO 2016 1177 ENDDO … … 2022 1183 DO i = 1, klon 2023 1184 IF (pctsrf(i,nsrf) .LT. epsfra) ftsol(i,nsrf) = zxtsol(i) 1185 cccIM 1186 IF (pctsrf(i,nsrf) .LT. epsfra) t2m(i,nsrf) = zt2m(i) 1187 IF (pctsrf(i,nsrf) .LT. epsfra) q2m(i,nsrf) = zq2m(i) 1188 IF (pctsrf(i,nsrf) .LT. epsfra) u10m(i,nsrf) = zu10m(i) 1189 IF (pctsrf(i,nsrf) .LT. epsfra) v10m(i,nsrf) = zv10m(i) 2024 1190 ENDDO 2025 1191 ENDDO 2026 1192 c 2027 1193 c 2028 1194 c Calculer la derive du flux infrarouge 2029 1195 c 2030 c $$$DO nsrf = 1, nbsrf2031 DO i = 1, klon 2032 c $$$IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN1196 cXXX DO nsrf = 1, nbsrf 1197 DO i = 1, klon 1198 cXXX IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN 2033 1199 dlw(i) = - 4.0*RSIGMA*zxtsol(i)**3 2034 c $$$. *(ftsol(i,nsrf)-zxtsol(i))2035 c $$$. *pctsrf(i,nsrf)2036 c $$$ENDIF2037 c $$$ENDDO1200 cXXX . *(ftsol(i,nsrf)-zxtsol(i)) 1201 cXXX . *pctsrf(i,nsrf) 1202 cXXX ENDIF 1203 cXXX ENDDO 2038 1204 ENDDO 2039 1205 c … … 2089 1255 ntra = 1 2090 1256 endif 1257 c 1258 c sb, oct02: 1259 c Schema de convection modularise et vectorise: 1260 c (driver commun aux versions 3 et 4) 1261 c 1262 IF (ok_cvl) THEN ! new driver for convectL 1263 1264 CALL concvl (iflag_con, 1265 . dtime,paprs,pplay,t_seri,q_seri, 1266 . u_seri,v_seri,tr_seri,nbtr, 1267 . ema_work1,ema_work2, 1268 . d_t_con,d_q_con,d_u_con,d_v_con,d_tr, 1269 . rain_con, snow_con, ibas_con, itop_con, 1270 . upwd,dnwd,dnwd0, 1271 . Ma,cape,tvp,iflagctrl, 1272 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd) 1273 1274 ELSE ! ok_cvl 1275 2091 1276 if (iflag_con.eq.4) then ! vectorise 2092 1277 CALL conemav (dtime,paprs,pplay,t_seri,q_seri, … … 2099 1284 . Ma,cape,tvp,iflagctrl, 2100 1285 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr) 1286 1287 do i = 1, klon 1288 wd(i)=0.0 1289 do k = 1, klev 1290 qcondc(i)=0.0 1291 enddo 1292 enddo 2101 1293 2102 1294 else … … 2115 1307 . ,clwcon0) 2116 1308 print*,'Apres conema3 ' 1309 1310 IF (.NOT. ok_gust) THEN 1311 do i = 1, klon 1312 wd(i)=0.0 1313 enddo 1314 ENDIF 2117 1315 2118 1316 c Calculer l'humidite relative pour diagnostique … … 2138 1336 ENDDO 2139 1337 2140 c calcul des propri étés des nuages convectifs1338 c calcul des proprietes des nuages convectifs 2141 1339 clwcon0(:,:)=fact_cldcon*clwcon0(:,:) 2142 1340 call clouds_gno … … 2144 1342 2145 1343 endif 1344 1345 ENDIF ! ok_cvl 1346 2146 1347 DO i = 1, klon 2147 1348 ema_pcb(i) = pbase(i) … … 2479 1680 s topsw,toplw,solsw,sollw, 2480 1681 s sollwdown, 2481 s topsw0,toplw0,solsw0,sollw0) 1682 cccIMs topsw0,toplw0,solsw0,sollw0) 1683 s topsw0,toplw0,solsw0,sollw0, 1684 s ZFSUP,ZFSDN,ZFSUP0,ZFSDN0) 2482 1685 itaprad = 0 2483 1686 ENDIF … … 2524 1727 c Si une sous-fraction n'existe pas, elle prend la valeur moyenne 2525 1728 c 2526 c $$$DO nsrf = 1, nbsrf2527 c $$$DO i = 1, klon2528 c $$$IF (pctsrf(i,nsrf).LT.epsfra) THEN2529 c $$$fqsol(i,nsrf) = zxqsol(i)2530 c $$$fsnow(i,nsrf) = zxsnow(i)2531 c $$$ENDIF2532 c $$$ENDDO2533 c $$$ENDDO1729 cXXX DO nsrf = 1, nbsrf 1730 cXXX DO i = 1, klon 1731 cXXX IF (pctsrf(i,nsrf).LT.epsfra) THEN 1732 cXXX fqsol(i,nsrf) = zxqsol(i) 1733 cXXX fsnow(i,nsrf) = zxsnow(i) 1734 cXXX ENDIF 1735 cXXX ENDDO 1736 cXXX ENDDO 2534 1737 c 2535 1738 c Calculer le bilan du sol et la derive de temperature (couplage) … … 2628 1831 IF (iflag_con.GE.3) THEN 2629 1832 c on ajoute les tendances calculees par KE43 2630 c $$$OM on onhibe la convection sur les traceurs1833 cXXX OM on onhibe la convection sur les traceurs 2631 1834 DO iq=1, nqmax-2 ! Sandrine a -3 ??? 2632 c $$$OM on inhibe la convection sur les traceur2633 c $$$DO k = 1, nlev2634 c $$$DO i = 1, klon2635 c $$$tr_seri(i,k,iq) = tr_seri(i,k,iq) + d_tr(i,k,iq)2636 c $$$ENDDO2637 c $$$ENDDO1835 cXXX OM on inhibe la convection sur les traceur 1836 cXXX DO k = 1, nlev 1837 cXXX DO i = 1, klon 1838 cXXX tr_seri(i,k,iq) = tr_seri(i,k,iq) + d_tr(i,k,iq) 1839 cXXX ENDDO 1840 cXXX ENDDO 2638 1841 WRITE(iqn,'(i2.2)') iq 2639 1842 CALL minmaxqfi(tr_seri(1,1,iq),0.,1.e33,'couche lim iq='//iqn) … … 2680 1883 c 2681 1884 c 1885 c+jld ec_conser 1886 DO k = 1, klev 1887 DO i = 1, klon 1888 ZRCPD = RCPD*(1.0+RVTMP2*q_seri(i,k)) 1889 d_t_ec(i,k)=0.5/ZRCPD 1890 $ *(u(i,k)**2+v(i,k)**2-u_seri(i,k)**2-v_seri(i,k)**2) 1891 t_seri(i,k)=t_seri(i,k)+d_t_ec(i,k) 1892 d_t_ec(i,k) = d_t_ec(i,k)/dtime 1893 END DO 1894 END DO 1895 c-jld ec_conser 2682 1896 IF (if_ebil.ge.1) THEN 2683 1897 ztit='after physic' … … 2699 1913 END IF 2700 1914 C 2701 IF (ok_journe) THEN 2702 c 2703 ndex2d = 0 2704 ndex3d = 0 2705 c 2706 c Champs 2D: 2707 c 2708 zsto = dtime 2709 zout = dtime * FLOAT(ecrit_day) 2710 itau_w = itau_phy + itap 2711 2712 i = NINT(zout/zsto) 2713 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 2714 CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2715 varname = 'phis' 2716 vartitle= 'Surface geop. height' 2717 varunits= '-' 2718 c call writephy(fid_day,prof2d_on,varname,pphis,vartitle, 2719 c . varunits) 2720 c 2721 i = NINT(zout/zsto) 2722 CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d) 2723 CALL histwrite(nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2724 varname = 'aire' 2725 vartitle= 'Grid area' 2726 varunits= '-' 2727 c call writephy(fid_day,prof2d_on,varname,paire,vartitle, 2728 c . varunits) 2729 C 2730 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 2731 CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2732 c call writephy(fid_day,prof2d_av,'tsol',zxtsol, 2733 c . 'Surface Temperature','K') 2734 c 2735 C 2736 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter) 2737 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d) 2738 CALL histwrite(nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2739 c call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter), 2740 c . 'Surface Temperature','K') 2741 C 2742 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic) 2743 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2744 CALL histwrite(nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2745 c call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic), 2746 c . 'Surface Temperature','K') 2747 C 2748 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce) 2749 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2750 CALL histwrite(nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2751 c call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce), 2752 c . 'Surface Temperature','K') 2753 C 2754 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic) 2755 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2756 CALL histwrite(nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2757 c call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic), 2758 c . 'Surface Temperature','K') 2759 C 2760 DO i = 1, klon 2761 zx_tmp_fi2d(i) = paprs(i,1) 2762 ENDDO 2763 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2764 CALL histwrite(nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2765 c Essai writephys 2766 varname = 'psol' 2767 vartitle= 'pression au sol' 2768 varunits= 'hPa' 2769 c call writephy(fid_day,prof2d_av,varname,zx_tmp_fi2d,vartitle, 2770 c . varunits) 2771 c 2772 DO i = 1, klon 2773 zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i)) 2774 ENDDO 2775 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2776 CALL histwrite(nid_day,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2777 c call writephy(fid_day,prof2d_av,'rain',zx_tmp_fi2d, 2778 c . 'Precipitation','mm/day') 2779 2780 2781 c 2782 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 2783 CALL histwrite(nid_day,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2784 c call writephy(fid_day,prof2d_av,'snow',snow_fall, 2785 c . 'Snow','mm/day') 2786 c 2787 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 2788 CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, 2789 . ndex2d) 2790 c call writephy(fid_day,prof2d_av,'snow_mass',zxsnow, 2791 c . 'Snow cover','mm') 2792 c 2793 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 2794 CALL histwrite(nid_day,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2795 c call writephy(fid_day,prof2d_av,'evap',evap, 2796 c . 'Evaporation','mm/day') 2797 c 2798 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 2799 CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2800 c call writephy(fid_day,prof2d_av,'tops',topsw, 2801 c . 'Solar rad. at TOA','W/m2') 2802 c 2803 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 2804 CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2805 c call writephy(fid_day,prof2d_av,'topl',toplw, 2806 c . 'IR rad. at TOA','W/m2') 2807 c 2808 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 2809 CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2810 c call writephy(fid_day,prof2d_av,'sols',solsw, 2811 c . 'Solar rad. at surf.','W/m2') 2812 c 2813 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 2814 CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2815 c call writephy(fid_day,prof2d_av,'soll',sollw, 2816 c . 'IR rad. at surface','W/m2') 2817 c 2818 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 2819 CALL histwrite(nid_day,"solldown",itau_w,zx_tmp_2d,iim*jjmp1, 2820 . ndex2d) 2821 c call writephy(fid_day,prof2d_av,'solldown',sollwdown, 2822 c . 'Down. IR rad. at surface','W/m2') 2823 c 2824 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 2825 CALL histwrite(nid_day,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2826 c call writephy(fid_day,prof2d_av,'bils',bils, 2827 c . 'Surf. total heat flux','W/m2') 2828 c 2829 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) 2830 CALL histwrite(nid_day,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2831 c call writephy(fid_day,prof2d_av,'sens',sens, 2832 c . 'Sensible heat flux','W/m2') 2833 c 2834 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 2835 CALL histwrite(nid_day,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2836 c call writephy(fid_day,prof2d_av,'fder',fder, 2837 c . 'Heat flux derivation','W/m2') 2838 c 2839 c 2840 DO nsrf = 1, nbsrf 2841 C§§§ 2842 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 2843 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2844 CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itau_w, 2845 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2846 c call writephy(fid_day,prof2d_av,'pourc_'//clnsurf(nsrf), 2847 c . pctsrf( 1 : klon, nsrf), 2848 c . 'Fraction'//clnsurf(nsrf),'-') 2849 C 2850 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 2851 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2852 CALL histwrite(nid_day,"tsol_"//clnsurf(nsrf),itau_w, 2853 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2854 c call writephy(fid_day,prof2d_av,'tsol_'//clnsurf(nsrf), 2855 c . ftsol( 1 : klon, nsrf), 2856 c . 'Surf. Temp'//clnsurf(nsrf),'K') 2857 C 2858 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 2859 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2860 CALL histwrite(nid_day,"sens_"//clnsurf(nsrf),itau_w, 2861 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2862 c call writephy(fid_day,prof2d_av,'sens_'//clnsurf(nsrf), 2863 c . fluxt( 1 : klon, 1, nsrf), 2864 c . 'Sensible heat flux '//clnsurf(nsrf),'W/m2') 2865 C 2866 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 2867 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2868 CALL histwrite(nid_day,"lat_"//clnsurf(nsrf),itau_w, 2869 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2870 c call writephy(fid_day,prof2d_av,'lat_'//clnsurf(nsrf), 2871 c . fluxlat( 1 : klon, nsrf), 2872 c . 'Latent heat flux '//clnsurf(nsrf),'W/m2') 2873 C 2874 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 2875 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2876 CALL histwrite(nid_day,"taux_"//clnsurf(nsrf),itau_w, 2877 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2878 c call writephy(fid_day,prof2d_av,'taux_'//clnsurf(nsrf), 2879 c . fluxu( 1 : klon, 1, nsrf), 2880 c . 'Zonal wind stress '//clnsurf(nsrf),'Pa') 2881 C 2882 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 2883 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2884 CALL histwrite(nid_day,"tauy_"//clnsurf(nsrf),itau_w, 2885 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2886 c call writephy(fid_day,prof2d_av,'tauy_'//clnsurf(nsrf), 2887 c . fluxv( 1 : klon, 1, nsrf), 2888 c . 'Meridional wind stress '//clnsurf(nsrf),'Pa') 2889 C 2890 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) 2891 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2892 CALL histwrite(nid_day,"albe_"//clnsurf(nsrf),itau_w, 2893 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2894 c call writephy(fid_day,prof2d_av,'albe_'//clnsurf(nsrf), 2895 c . falbe( 1 : klon, nsrf), 2896 c . 'Albedo surf. SW'//clnsurf(nsrf),'-') 2897 c call writephy(fid_day,prof2d_av,'alblw_'//clnsurf(nsrf), 2898 c . falblw( 1 : klon, nsrf), 2899 c . 'Albedo surf. LW'//clnsurf(nsrf),'-') 2900 C 2901 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) 2902 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 2903 CALL histwrite(nid_day,"rugs_"//clnsurf(nsrf),itau_w, 2904 $ zx_tmp_2d,iim*jjmp1,ndex2d) 2905 c call writephy(fid_day,prof2d_av,'rugs_'//clnsurf(nsrf), 2906 c . frugs( 1 : klon, nsrf), 2907 c . 'Rugosity '//clnsurf(nsrf),' - ') 2908 C 2909 END DO 2910 C 2911 c$$$ DO i = 1, klon 2912 c$$$ zx_tmp_fi2d(i) = pctsrf(i,is_sic) 2913 c$$$ ENDDO 2914 c$$$ CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 2915 c$$$ CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2916 c 2917 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 2918 CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2919 c call writephy(fid_day,prof2d_av,'cldl',cldl, 2920 c . 'Low-level cloudiness','-') 2921 c 2922 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 2923 CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2924 c call writephy(fid_day,prof2d_av,'cldm',cldm, 2925 c . 'Mid-level cloudiness','-') 2926 c 2927 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 2928 CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2929 c call writephy(fid_day,prof2d_av,'cldh',cldh, 2930 c . 'High-level cloudiness','-') 2931 c 2932 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 2933 CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2934 c call writephy(fid_day,prof2d_av,'cldt',cldt, 2935 c . 'Total cloudiness','-') 2936 c 2937 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 2938 CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 2939 c call writephy(fid_day,prof2d_av,'cldq',cldq, 2940 c . 'Cloud liquid water path','-') 2941 c 2942 c Champs 3D: 2943 c 2944 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 2945 CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d, 2946 . iim*jjmp1*klev,ndex3d) 2947 c Essai writephys 2948 varname = 'temp' 2949 vartitle= 'temperature 3D' 2950 varunits= 'K' 2951 c call writephy(fid_day,prof3d_av,varname,t_seri,vartitle,varunits) 2952 c 2953 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 2954 CALL histwrite(nid_day,"ovap",itau_w,zx_tmp_3d, 2955 . iim*jjmp1*klev,ndex3d) 2956 c call writephy(fid_day,prof3d_av,'ovap',qx(1,1,ivap), 2957 c . 'Specific humidity','Kg/Kg') 2958 c 2959 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 2960 CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d, 2961 . iim*jjmp1*klev,ndex3d) 2962 c call writephy(fid_day,prof3d_av,'geop',zphi, 2963 c . 'Geopotential height','m') 2964 c 2965 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 2966 CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d, 2967 . iim*jjmp1*klev,ndex3d) 2968 c call writephy(fid_day,prof3d_av,'vitu',u_seri, 2969 c . 'Zonal wind','m/s') 2970 c 2971 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 2972 CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d, 2973 . iim*jjmp1*klev,ndex3d) 2974 c call writephy(fid_day,prof3d_av,'vitv',v_seri, 2975 c . 'Meridional wind','m/s') 2976 c 2977 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 2978 CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d, 2979 . iim*jjmp1*klev,ndex3d) 2980 c call writephy(fid_day,prof3d_av,'vitw',omega, 2981 c . 'Vertical wind','m/s') 2982 c 2983 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 2984 CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d, 2985 . iim*jjmp1*klev,ndex3d) 2986 c call writephy(fid_day,prof3d_av,'pres',pplay, 2987 c . 'Air pressure','Pa') 2988 2989 c 2990 if (ok_sync) then 2991 c call writephy_sync(fid_day) 2992 call histsync(nid_day) 2993 endif 2994 ENDIF 2995 C 2996 IF (ok_mensuel) THEN 2997 c 2998 ndex2d = 0 2999 ndex3d = 0 3000 c 3001 c Champs 2D: 3002 c 3003 zsto = dtime 3004 zout = dtime * ecrit_mth 3005 itau_w = itau_phy + itap 3006 3007 i = NINT(zout/zsto) 3008 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 3009 CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3010 C 3011 i = NINT(zout/zsto) 3012 CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d) 3013 CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3014 3015 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 3016 CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3017 c 3018 DO i = 1, klon 3019 zx_tmp_fi2d(i) = paprs(i,1) 3020 ENDDO 3021 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3022 CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3023 c 3024 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsol,zx_tmp_2d) 3025 CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3026 c 3027 DO i = 1, klon 3028 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 3029 ENDDO 3030 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3031 CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3032 c 3033 DO i = 1, klon 3034 zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) 3035 ENDDO 3036 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3037 CALL histwrite(nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3038 c 3039 DO i = 1, klon 3040 zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) 3041 ENDDO 3042 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3043 CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3044 c 3045 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 3046 CALL histwrite(nid_mth,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3047 c 3048 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 3049 CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, 3050 . ndex2d) 3051 c 3052 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 3053 CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3054 c 3055 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) 3056 CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3057 c 3058 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 3059 CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3060 c 3061 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 3062 CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3063 c 3064 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 3065 CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3066 c 3067 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 3068 CALL histwrite(nid_mth,"solldown",itau_w,zx_tmp_2d,iim*jjmp1, 3069 . ndex2d) 3070 c 3071 CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d) 3072 CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3073 c 3074 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d) 3075 CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3076 c 3077 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d) 3078 CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3079 c 3080 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d) 3081 CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3082 c 3083 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 3084 CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3085 c 3086 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) 3087 CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3088 c 3089 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 3090 CALL histwrite(nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3091 c 3092 c 3093 c DO i = 1, klon 3094 c zx_tmp_fi2d(i) = fluxu(i,1) 3095 c ENDDO 3096 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3097 c CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3098 c 3099 c DO i = 1, klon 3100 c zx_tmp_fi2d(i) = fluxv(i,1) 3101 c ENDDO 3102 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3103 c CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3104 c 3105 DO nsrf = 1, nbsrf 3106 C§§§ 3107 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 3108 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3109 CALL histwrite(nid_mth,"pourc_"//clnsurf(nsrf),itau_w, 3110 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3111 C 3112 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 3113 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3114 CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w, 3115 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3116 C 3117 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 3118 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3119 CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w, 3120 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3121 C 3122 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 3123 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3124 CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w, 3125 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3126 C 3127 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 3128 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3129 CALL histwrite(nid_mth,"taux_"//clnsurf(nsrf),itau_w, 3130 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3131 C 3132 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 3133 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3134 CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w, 3135 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3136 C 3137 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) 3138 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3139 CALL histwrite(nid_mth,"albe_"//clnsurf(nsrf),itau_w, 3140 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3141 C 3142 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) 3143 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3144 CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itau_w, 3145 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3146 c 3147 zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf) 3148 CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d) 3149 CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w 3150 $ ,zx_tmp_2d,iim*jjmp1,ndex2d) 3151 3152 END DO 3153 c$$$ DO i = 1, klon 3154 c$$$ zx_tmp_fi2d(i) = pctsrf(i,is_sic) 3155 c$$$ ENDDO 3156 c$$$ CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3157 c$$$ CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3158 c 3159 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d) 3160 CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3161 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d) 3162 CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3163 c 3164 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 3165 CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3166 c 3167 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 3168 CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3169 c 3170 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 3171 CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3172 c 3173 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 3174 CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3175 c 3176 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 3177 CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3178 c 3179 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 3180 CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3181 c 3182 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 3183 CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3184 c 3185 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) 3186 CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3187 c 3188 CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) 3189 CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3190 c 3191 CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d) 3192 CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3193 c 3194 CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d) 3195 CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3196 cKE43 3197 IF (iflag_con .GE. 3) THEN ! sb 3198 c 3199 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d) 3200 CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3201 c 3202 CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d) 3203 CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3204 c 3205 CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d) 3206 CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3207 c 3208 CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d) 3209 CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3210 c 3211 c 3212 ENDIF 3213 c34EK 3214 c 3215 c Champs 3D: 3216 C 3217 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 3218 CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d, 3219 . iim*jjmp1*klev,ndex3d) 3220 c 3221 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) 3222 CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d, 3223 . iim*jjmp1*klev,ndex3d) 3224 c 3225 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 3226 CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d, 3227 . iim*jjmp1*klev,ndex3d) 3228 c 3229 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 3230 CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d, 3231 . iim*jjmp1*klev,ndex3d) 3232 c 3233 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 3234 CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d, 3235 . iim*jjmp1*klev,ndex3d) 3236 c 3237 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) 3238 CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d, 3239 . iim*jjmp1*klev,ndex3d) 3240 c 3241 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 3242 CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d, 3243 . iim*jjmp1*klev,ndex3d) 3244 c 3245 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d) 3246 CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d, 3247 . iim*jjmp1*klev,ndex3d) 3248 c 3249 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d) 3250 CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d, 3251 . iim*jjmp1*klev,ndex3d) 3252 c 3253 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldliq, zx_tmp_3d) 3254 CALL histwrite(nid_mth,"oliq",itau_w,zx_tmp_3d, 3255 . iim*jjmp1*klev,ndex3d) 3256 c 3257 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d) 3258 CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d, 3259 . iim*jjmp1*klev,ndex3d) 3260 c 3261 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) 3262 CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d, 3263 . iim*jjmp1*klev,ndex3d) 3264 c 3265 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d) 3266 CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d, 3267 . iim*jjmp1*klev,ndex3d) 3268 c 3269 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_con, zx_tmp_3d) 3270 CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d, 3271 . iim*jjmp1*klev,ndex3d) 3272 c 3273 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_con, zx_tmp_3d) 3274 CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d, 3275 . iim*jjmp1*klev,ndex3d) 3276 c 3277 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_lsc, zx_tmp_3d) 3278 CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d, 3279 . iim*jjmp1*klev,ndex3d) 3280 c 3281 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_lsc, zx_tmp_3d) 3282 CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d, 3283 . iim*jjmp1*klev,ndex3d) 3284 c 3285 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_vdf, zx_tmp_3d) 3286 CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d, 3287 . iim*jjmp1*klev,ndex3d) 3288 c 3289 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) 3290 CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d, 3291 . iim*jjmp1*klev,ndex3d) 3292 c 3293 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_eva, zx_tmp_3d) 3294 CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d, 3295 . iim*jjmp1*klev,ndex3d) 3296 c 3297 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_eva, zx_tmp_3d) 3298 CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d, 3299 . iim*jjmp1*klev,ndex3d) 3300 c 3301 zpt_conv = 0. 3302 where (ptconv) zpt_conv = 1. 3303 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d) 3304 CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d, 3305 . iim*(jjmp1)*klev,ndex3d) 3306 c 3307 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d) 3308 CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d, 3309 . iim*(jjmp1)*klev,ndex3d) 3310 c 3311 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_ajs, zx_tmp_3d) 3312 CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d, 3313 . iim*jjmp1*klev,ndex3d) 3314 c 3315 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_ajs, zx_tmp_3d) 3316 CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d, 3317 . iim*jjmp1*klev,ndex3d) 3318 c 3319 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, heat, zx_tmp_3d) 3320 CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d, 3321 . iim*jjmp1*klev,ndex3d) 3322 c 3323 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, heat0, zx_tmp_3d) 3324 CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d, 3325 . iim*jjmp1*klev,ndex3d) 3326 c 3327 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cool, zx_tmp_3d) 3328 CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d, 3329 . iim*jjmp1*klev,ndex3d) 3330 c 3331 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cool0, zx_tmp_3d) 3332 CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d, 3333 . iim*jjmp1*klev,ndex3d) 3334 c 3335 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) 3336 CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d, 3337 . iim*jjmp1*klev,ndex3d) 3338 c 3339 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) 3340 CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d, 3341 . iim*jjmp1*klev,ndex3d) 3342 c 3343 IF (ok_orodr) THEN 3344 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) 3345 CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d, 3346 . iim*jjmp1*klev,ndex3d) 3347 c 3348 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_oro, zx_tmp_3d) 3349 CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d, 3350 . iim*jjmp1*klev,ndex3d) 3351 c 3352 ENDIF 3353 C 3354 IF (ok_orolf) THEN 3355 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_lif, zx_tmp_3d) 3356 CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d, 3357 . iim*jjmp1*klev,ndex3d) 3358 c 3359 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_lif, zx_tmp_3d) 3360 CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d, 3361 . iim*jjmp1*klev,ndex3d) 3362 ENDIF 3363 C 3364 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d) 3365 CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d, 3366 . iim*jjmp1*klev,ndex3d) 3367 c 3368 IF (nqmax.GE.3) THEN 3369 DO iq=1,nqmax-2 3370 IF (iq.LE.99) THEN 3371 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq+2), zx_tmp_3d) 3372 WRITE(str2,'(i2.2)') iq 3373 CALL histwrite(nid_mth,"trac"//str2,itau_w,zx_tmp_3d, 3374 . iim*jjmp1*klev,ndex3d) 3375 ELSE 3376 PRINT*, "Trop de traceurs" 3377 CALL abort 3378 ENDIF 3379 ENDDO 3380 ENDIF 3381 cKE43 3382 IF (iflag_con.GE.3) THEN ! (sb) 3383 c 3384 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d) 3385 CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d, 3386 . iim*jjmp1*klev,ndex3d) 3387 c 3388 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d) 3389 CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d, 3390 . iim*jjmp1*klev,ndex3d) 3391 c 3392 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d) 3393 CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d, 3394 . iim*jjmp1*klev,ndex3d) 3395 c 3396 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d) 3397 CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d, 3398 . iim*jjmp1*klev,ndex3d) 3399 c 3400 c 3401 ENDIF 3402 c34EK 3403 c 3404 if (ok_sync) then 3405 call histsync(nid_mth) 3406 endif 3407 ENDIF 3408 c 3409 IF (ok_instan) THEN 3410 c 3411 ndex2d = 0 3412 ndex3d = 0 3413 c 3414 c Champs 2D: 3415 c 3416 zsto = dtime * ecrit_ins 3417 zout = dtime * ecrit_ins 3418 itau_w = itau_phy + itap 3419 3420 i = NINT(zout/zsto) 3421 CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) 3422 CALL histwrite(nid_ins,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3423 c 3424 i = NINT(zout/zsto) 3425 CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d) 3426 CALL histwrite(nid_ins,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3427 3428 DO i = 1, klon 3429 zx_tmp_fi2d(i) = paprs(i,1) 3430 ENDDO 3431 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3432 CALL histwrite(nid_ins,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3433 c 3434 DO i = 1, klon 3435 zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) 3436 ENDDO 3437 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3438 CALL histwrite(nid_ins,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3439 c 3440 DO i = 1, klon 3441 zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) 3442 ENDDO 3443 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3444 CALL histwrite(nid_ins,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3445 c 3446 DO i = 1, klon 3447 zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) 3448 ENDDO 3449 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 3450 CALL histwrite(nid_ins,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3451 3452 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) 3453 CALL histwrite(nid_ins,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3454 c 3455 CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) 3456 CALL histwrite(nid_ins,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3457 3458 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) 3459 CALL histwrite(nid_ins,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3460 c 3461 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) 3462 CALL histwrite(nid_ins,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3463 c 3464 CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) 3465 CALL histwrite(nid_ins,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3466 c 3467 CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) 3468 CALL histwrite(nid_ins,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3469 c 3470 CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) 3471 CALL histwrite(nid_ins,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3472 c 3473 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) 3474 CALL histwrite(nid_ins,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3475 c 3476 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) 3477 CALL histwrite(nid_ins,"solldown",itau_w,zx_tmp_2d,iim*jjmp1, 3478 . ndex2d) 3479 c 3480 CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) 3481 CALL histwrite(nid_ins,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3482 c 3483 CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) 3484 CALL histwrite(nid_ins,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3485 c 3486 CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) 3487 CALL histwrite(nid_ins,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3488 c 3489 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_oce),zx_tmp_2d) 3490 CALL histwrite(nid_ins,"dtsvdfo",itau_w,zx_tmp_2d,iim*jjmp1, 3491 . ndex2d) 3492 c 3493 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_ter),zx_tmp_2d) 3494 CALL histwrite(nid_ins,"dtsvdft",itau_w,zx_tmp_2d,iim*jjmp1, 3495 . ndex2d) 3496 c 3497 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_lic),zx_tmp_2d) 3498 CALL histwrite(nid_ins,"dtsvdfg",itau_w,zx_tmp_2d,iim*jjmp1, 3499 . ndex2d) 3500 c 3501 CALL gr_fi_ecrit(1, klon,iim,jjmp1, d_ts(1,is_sic),zx_tmp_2d) 3502 CALL histwrite(nid_ins,"dtsvdfi",itau_w,zx_tmp_2d,iim*jjmp1, 3503 . ndex2d) 3504 3505 DO nsrf = 1, nbsrf 3506 C§§§ 3507 zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 3508 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3509 CALL histwrite(nid_ins,"pourc_"//clnsurf(nsrf),itau_w, 3510 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3511 C 3512 zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 3513 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3514 CALL histwrite(nid_ins,"sens_"//clnsurf(nsrf),itau_w, 3515 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3516 C 3517 zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 3518 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3519 CALL histwrite(nid_ins,"lat_"//clnsurf(nsrf),itau_w, 3520 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3521 C 3522 zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 3523 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3524 CALL histwrite(nid_ins,"tsol_"//clnsurf(nsrf),itau_w, 3525 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3526 C 3527 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 3528 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3529 CALL histwrite(nid_ins,"taux_"//clnsurf(nsrf),itau_w, 3530 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3531 C 3532 zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 3533 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3534 CALL histwrite(nid_ins,"tauy_"//clnsurf(nsrf),itau_w, 3535 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3536 C 3537 zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) 3538 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3539 CALL histwrite(nid_ins,"rugs_"//clnsurf(nsrf),itau_w, 3540 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3541 C 3542 zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) 3543 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 3544 CALL histwrite(nid_ins,"albe_"//clnsurf(nsrf),itau_w, 3545 $ zx_tmp_2d,iim*jjmp1,ndex2d) 3546 C 3547 END DO 3548 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d) 3549 CALL histwrite(nid_ins,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3550 CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d) 3551 CALL histwrite(nid_ins,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3552 c 3553 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) 3554 CALL histwrite(nid_ins,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, 3555 . ndex2d) 3556 c 3557 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxrugs,zx_tmp_2d) 3558 CALL histwrite(nid_ins,"rugs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 3559 c 3560 c Champs 3D: 3561 c 3562 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) 3563 CALL histwrite(nid_ins,"temp",itau_w,zx_tmp_3d, 3564 . iim*jjmp1*klev,ndex3d) 3565 c 3566 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) 3567 CALL histwrite(nid_ins,"vitu",itau_w,zx_tmp_3d, 3568 . iim*jjmp1*klev,ndex3d) 3569 c 3570 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) 3571 CALL histwrite(nid_ins,"vitv",itau_w,zx_tmp_3d, 3572 . iim*jjmp1*klev,ndex3d) 3573 c 3574 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) 3575 CALL histwrite(nid_ins,"geop",itau_w,zx_tmp_3d, 3576 . iim*jjmp1*klev,ndex3d) 3577 c 3578 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) 3579 CALL histwrite(nid_ins,"pres",itau_w,zx_tmp_3d, 3580 . iim*jjmp1*klev,ndex3d) 3581 c 3582 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_vdf, zx_tmp_3d) 3583 CALL histwrite(nid_ins,"dtvdf",itau_w,zx_tmp_3d, 3584 . iim*jjmp1*klev,ndex3d) 3585 c 3586 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) 3587 CALL histwrite(nid_ins,"dqvdf",itau_w,zx_tmp_3d, 3588 . iim*jjmp1*klev,ndex3d) 3589 3590 c 3591 if (ok_sync) then 3592 call histsync(nid_ins) 3593 endif 3594 ENDIF 3595 c 3596 c 3597 c Ecrire la bande regionale (binaire grads) 3598 IF (ok_region .AND. mod(itap,ecrit_reg).eq.0) THEN 3599 CALL ecriregs(84,zxtsol) 3600 CALL ecriregs(84,paprs(1,1)) 3601 CALL ecriregs(84,topsw) 3602 CALL ecriregs(84,toplw) 3603 CALL ecriregs(84,solsw) 3604 CALL ecriregs(84,sollw) 3605 CALL ecriregs(84,rain_fall) 3606 CALL ecriregs(84,snow_fall) 3607 CALL ecriregs(84,evap) 3608 CALL ecriregs(84,sens) 3609 CALL ecriregs(84,bils) 3610 CALL ecriregs(84,pctsrf(1,is_sic)) 3611 CALL ecriregs(84,zxfluxu(1,1)) 3612 CALL ecriregs(84,zxfluxv(1,1)) 3613 CALL ecriregs(84,ue) 3614 CALL ecriregs(84,ve) 3615 CALL ecriregs(84,uq) 3616 CALL ecriregs(84,vq) 3617 c 3618 CALL ecrirega(84,u_seri) 3619 CALL ecrirega(84,v_seri) 3620 CALL ecrirega(84,omega) 3621 CALL ecrirega(84,t_seri) 3622 CALL ecrirega(84,zphi) 3623 CALL ecrirega(84,q_seri) 3624 CALL ecrirega(84,cldfra) 3625 CALL ecrirega(84,cldliq) 3626 CALL ecrirega(84,pplay) 3627 3628 3629 cc CALL ecrirega(84,d_t_dyn) 3630 cc CALL ecrirega(84,d_q_dyn) 3631 cc CALL ecrirega(84,heat) 3632 cc CALL ecrirega(84,cool) 3633 cc CALL ecrirega(84,d_t_con) 3634 cc CALL ecrirega(84,d_q_con) 3635 cc CALL ecrirega(84,d_t_lsc) 3636 cc CALL ecrirega(84,d_q_lsc) 3637 ENDIF 1915 cccIM cf. FH 1916 c======================================================================= 1917 c SORTIES 1918 c======================================================================= 1919 1920 c Interpollation sur quelques niveaux de pression 1921 c ----------------------------------------------- 1922 1923 call plevel(klon,klev,.true. ,pplay,85000.,u_seri,u850) 1924 call plevel(klon,klev,.false.,pplay,85000.,v_seri,v850) 1925 call plevel(klon,klev,.true. ,pplay,50000.,u_seri,u500) 1926 call plevel(klon,klev,.false.,pplay,50000.,v_seri,v500) 1927 call plevel(klon,klev,.true. ,pplay,20000.,u_seri,u200) 1928 call plevel(klon,klev,.false.,pplay,20000.,v_seri,v200) 1929 call plevel(klon,klev,.true. ,pplay,50000.,zphi,phi500) 1930 1931 c============================================================= 1932 c Ecriture des sorties 1933 c============================================================= 1934 1935 #ifdef histhf 1936 #include "write_histhf.h" 1937 #endif 1938 1939 #include "write_histday.h" 1940 #include "write_histmth.h" 1941 #include "write_histins.h" 1942 1943 c============================================================= 3638 1944 c 3639 1945 c Convertir les incrementations en tendances
Note: See TracChangeset
for help on using the changeset viewer.