- Timestamp:
- Jun 4, 2010, 6:56:18 PM (14 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/calcul_STDlev.h
r1352 r1398 107 107 & zx_tmp_fi3d,T2STD) 108 108 109 109 c 110 zx_tmp_fi3d(:,:)=wo(:,:,1) * dobson_u * 1e3 / zmasse / rmo3 * rmd 111 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 112 & zx_tmp_fi3d,O3STD) 113 c 114 if (read_climoz == 2) THEN 115 zx_tmp_fi3d(:,:)=wo(:,:,2) * dobson_u * 1e3 / zmasse / rmo3 * rmd 116 CALL plevel_new(klon,klev,nlevSTD,.false.,pplay,rlevSTD, 117 & zx_tmp_fi3d,O3daySTD) 118 endif 119 c 110 120 DO l=1, klev 111 121 DO i=1, klon … … 115 125 CALL plevel_new(klon,klev,nlevSTD,.true.,zx_tmp_fi3d,rlevSTD, 116 126 & omega,wlevSTD) 117 118 127 c 119 128 cIM on somme les valeurs toutes les freq_calNMC secondes -
LMDZ4/trunk/libf/phylmd/calcul_divers.h
r996 r1398 5 5 c initialisations diverses au "debut" du mois 6 6 c 7 IF(MOD(itap,INT(ecrit_mth )).EQ.1) THEN7 IF(MOD(itap,INT(ecrit_mth/dtime)).EQ.1) THEN 8 8 DO i=1, klon 9 9 nday_rain(i)=0. … … 19 19 ENDIF !MOD(itap,INT(ecrit_mth)).EQ.1 20 20 c 21 IF(MOD(itap,INT(ecrit_day )).EQ.0) THEN21 IF(MOD(itap,INT(ecrit_day/dtime)).EQ.0) THEN 22 22 c 23 23 cIM calcul total_rain, nday_rain -
LMDZ4/trunk/libf/phylmd/concvl.F
r1334 r1398 5 5 . d_t,d_q,d_u,d_v,d_tra, 6 6 . rain, snow, kbas, ktop, sigd, 7 . upwd,dnwd,dnwdbis,Ma,mip,Vprecip,7 . cbmf,upwd,dnwd,dnwdbis,Ma,mip,Vprecip, 8 8 . cape,cin,tvp,Tconv,iflag, 9 9 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr, … … 120 120 INTEGER i,k,itra 121 121 REAL qs(klon,klev),qs_wake(klon,klev) 122 cLFREAL cbmf(klon)122 REAL cbmf(klon) 123 123 cLF SAVE cbmf 124 125 c $OMP THREADPRIVATE(cbmf)!124 cIM/JYG REAL, SAVE, ALLOCATABLE :: cbmf(:) 125 ccc$OMP THREADPRIVATE(cbmf)! 126 126 REAL cbmflast(klon) 127 127 INTEGER ifrst … … 185 185 c Allocate some variables LF 04/2008 186 186 c 187 187 cIM/JYG allocate(cbmf(klon)) 188 188 allocate(ql(klon,klev)) 189 189 allocate(t1(klon,klev)) … … 341 341 $ dtime,Ma,upwd,dnwd,dnwdbis,qcondc,wd,cape, 342 342 $ da,phi,mp) 343 343 c 344 DO i = 1,klon 345 cbmf(i) = Ma(i,kbas(i)) 346 ENDDO 347 c 344 348 else 345 349 -
LMDZ4/trunk/libf/phylmd/cv3a_uncompress.F
r1334 r1398 1 1 SUBROUTINE cv3a_uncompress(nloc,len,ncum,nd,ntra,idcum 2 2 : ,iflag,kbas,ktop 3 : ,precip, sig,w0,ptop23 : ,precip,cbmf,sig,w0,ptop2 4 4 : ,ft,fq,fu,fv,ftra 5 5 : ,Ma,mip,Vprecip,upwd,dnwd,dnwd0 … … 10 10 : ,asupmaxmin 11 11 o ,iflag1,kbas1,ktop1 12 : ,precip1, sig1,w01,ptop2112 : ,precip1,cbmf1,sig1,w01,ptop21 13 13 : ,ft1,fq1,fu1,fv1,ftra1 14 14 : ,Ma1,mip1,Vprecip1,upwd1,dnwd1,dnwd01 … … 35 35 integer idcum(nloc) 36 36 integer iflag(nloc),kbas(nloc),ktop(nloc) 37 real precip(nloc) 37 real precip(nloc),cbmf(nloc) 38 38 real sig(nloc,nd), w0(nloc,nd),ptop2(nloc) 39 39 real ft(nloc,nd), fq(nloc,nd), fu(nloc,nd), fv(nloc,nd) … … 51 51 c outputs: 52 52 integer iflag1(len),kbas1(len),ktop1(len) 53 real precip1(len) 53 real precip1(len),cbmf1(len) 54 54 real sig1(len,nd), w01(len,nd),ptop21(len) 55 55 real ft1(len,nd), fq1(len,nd), fu1(len,nd), fv1(len,nd) … … 71 71 ptop21(idcum(i))=ptop2(i) 72 72 precip1(idcum(i))=precip(i) 73 cbmf1(idcum(i))=cbmf(i) 73 74 iflag1(idcum(i))=iflag(i) 74 75 kbas1(idcum(i))=kbas(i) -
LMDZ4/trunk/libf/phylmd/cva_driver.F
r1334 r1398 904 904 CALL cv3a_uncompress(nloc,len,ncum,nd,ntra,idcum 905 905 : ,iflag,icb,inb 906 : ,precip, sig,w0,ptop2906 : ,precip,cbmf,sig,w0,ptop2 907 907 : ,ft,fq,fu,fv,ftra 908 908 : ,Ma,mip,Vprecip,upwd,dnwd,dnwd0 … … 913 913 : ,asupmaxmin 914 914 o ,iflag1,kbas1,ktop1 915 o ,precip1, sig1,w01,ptop21915 o ,precip1,cbmf1,sig1,w01,ptop21 916 916 o ,ft1,fq1,fu1,fv1,ftra1 917 917 o ,Ma1,mip1,Vprecip1,upwd1,dnwd1,dnwd01 -
LMDZ4/trunk/libf/phylmd/ini_histdayNMC.h
r1374 r1398 30 30 c 31 31 IF(lev_histdayNMC.EQ.nlevSTD) THEN 32 CALL histvert(nid_daynmc, "plev", "pressure", " Pa",33 . nlevSTD, rlevSTD , nvert)32 CALL histvert(nid_daynmc, "plev", "pressure", "mb", 33 . nlevSTD, rlevSTD/100., nvert,"down") 34 34 ELSE IF(lev_histdayNMC.EQ.nlevSTD8) THEN 35 CALL histvert(nid_daynmc, "plev", "pressure", " Pa",36 . nlevSTD8, rlevSTD8 , nvert)35 CALL histvert(nid_daynmc, "plev", "pressure", "mb", 36 . nlevSTD8, rlevSTD8/100., nvert,"down") 37 37 ENDIF 38 ccc 38 c 39 cIM Astuce MAF: remplacer inst par ave pour les variables NMC pour avoir 40 cIM le time_counter et les bounds 41 c 39 42 ccc Champs 3D interpolles sur des niveaux de pression du NMC 40 43 ccc … … 51 54 . "Valeurs non-definies","-", 52 55 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 53 . " inst(X)", zout,zout)56 . "ave(X)", zout,zout) 54 57 c 55 58 CALL histdef(nid_daynmc, "ta", 56 59 . "Air temperature","K", 57 60 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 58 . " inst(X)", zout,zout)61 . "ave(X)", zout,zout) 59 62 c 60 63 CALL histdef(nid_daynmc, "zg", 61 64 . "Geopotential height", "m", 62 65 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 63 . " inst(X)", zout,zout)66 . "ave(X)", zout,zout) 64 67 c 65 68 CALL histdef(nid_daynmc, "hus", 66 69 . "Specific humidity","1", 67 70 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 68 . " inst(X)", zout,zout)71 . "ave(X)", zout,zout) 69 72 c 70 73 CALL histdef(nid_daynmc, "hur", 71 74 . "Relative humidity", "%", 72 75 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 73 . " inst(X)", zout,zout)76 . "ave(X)", zout,zout) 74 77 c 75 78 CALL histdef(nid_daynmc, "ua", 76 79 . "Eastward wind","m s-1", 77 80 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 78 . " inst(X)", zout,zout)81 . "ave(X)", zout,zout) 79 82 c 80 83 CALL histdef(nid_daynmc, "va", 81 84 . "Northward wind","m s-1", 82 85 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 83 . " inst(X)", zout,zout)86 . "ave(X)", zout,zout) 84 87 c 85 88 CALL histdef(nid_daynmc, "wap", 86 89 . "Lagrangian tendency of air pressure","Pa s-1", 87 90 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 88 . " inst(X)", zout,zout)91 . "ave(X)", zout,zout) 89 92 c 90 93 ELSE IF(lev_histdayNMC.EQ.nlevSTD8) THEN … … 93 96 . "Valeurs non-definies","-", 94 97 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 95 . " inst(X)", zout,zout)98 . "ave(X)", zout,zout) 96 99 c 97 100 CALL histdef(nid_daynmc, "ta", 98 101 . "Air temperature","K", 99 102 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 100 . " inst(X)", zout,zout)103 . "ave(X)", zout,zout) 101 104 c 102 105 CALL histdef(nid_daynmc, "zg", 103 106 . "Geopotential height", "m", 104 107 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 105 . " inst(X)", zout,zout)108 . "ave(X)", zout,zout) 106 109 c 107 110 CALL histdef(nid_daynmc, "hus", 108 111 . "Specific humidity","1", 109 112 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 110 . " inst(X)", zout,zout)113 . "ave(X)", zout,zout) 111 114 c 112 115 CALL histdef(nid_daynmc, "hur", 113 116 . "Relative humidity", "%", 114 117 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 115 . " inst(X)", zout,zout)118 . "ave(X)", zout,zout) 116 119 c 117 120 CALL histdef(nid_daynmc, "ua", 118 121 . "Eastward wind","m s-1", 119 122 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 120 . " inst(X)", zout,zout)123 . "ave(X)", zout,zout) 121 124 c 122 125 CALL histdef(nid_daynmc, "va", 123 126 . "Northward wind","m s-1", 124 127 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 125 . " inst(X)", zout,zout)128 . "ave(X)", zout,zout) 126 129 c 127 130 CALL histdef(nid_daynmc, "wap", 128 131 . "Lagrangian tendency of air pressure","Pa s-1", 129 132 . iim,jj_nb,nhori, nlevSTD8,1,nlevSTD8, nvert, 32, 130 . " inst(X)", zout,zout)133 . "ave(X)", zout,zout) 131 134 c 132 135 ENDIF -
LMDZ4/trunk/libf/phylmd/ini_histhfNMC.h
r1374 r1398 31 31 . nhori, nid_hfnmc) 32 32 c 33 CALL histvert(nid_hfnmc, "plev", "pressure", "Pa", 34 . nlevSTD3, rlevSTD3, nvert) 33 CALL histvert(nid_hfnmc, "plev", "pressure", "mb", 34 . nlevSTD3, rlevSTD3/100., nvert,"down") 35 c 36 cIM Astuce MAF: remplacer inst par ave pour les variables NMC pour avoir 37 cIM le time_counter et les bounds 38 c 35 39 ccc 36 40 ccc Champs 3D interpolles sur des niveaux de pression du NMC … … 47 51 . "Valeurs non-definies","-", 48 52 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 49 . " inst(X)", zout,zout)53 . "ave(X)", zout,zout) 50 54 c 51 55 CALL histdef(nid_hfnmc, "ta", 52 56 . "Air temperature","K", 53 57 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 54 . " inst(X)", zout,zout)58 . "ave(X)", zout,zout) 55 59 c 56 60 CALL histdef(nid_hfnmc, "zg", 57 61 . "Geopotential height", "m", 58 62 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 59 . " inst(X)", zout,zout)63 . "ave(X)", zout,zout) 60 64 c 61 65 CALL histdef(nid_hfnmc, "hus", 62 66 . "Specific humidity","1", 63 67 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 64 . " inst(X)", zout,zout)68 . "ave(X)", zout,zout) 65 69 c 66 70 CALL histdef(nid_hfnmc, "hur", 67 71 . "Relative humidity", "%", 68 72 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 69 . " inst(X)", zout,zout)73 . "ave(X)", zout,zout) 70 74 c 71 75 CALL histdef(nid_hfnmc, "ua", 72 76 . "Eastward wind","m s-1", 73 77 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 74 . " inst(X)", zout,zout)78 . "ave(X)", zout,zout) 75 79 c 76 80 CALL histdef(nid_hfnmc, "va", 77 81 . "Northward wind","m s-1", 78 82 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 79 . " inst(X)", zout,zout)83 . "ave(X)", zout,zout) 80 84 c 81 85 CALL histdef(nid_hfnmc, "wap", 82 86 . "Lagrangian tendency of air pressure","Pa s-1", 83 87 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 84 . " inst(X)", zout,zout)88 . "ave(X)", zout,zout) 85 89 c 86 90 CALL histdef(nid_hfnmc, "psbg", 87 91 . "Pressure sfce below ground","%", 88 92 . iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 89 . " inst(X)", zout,zout)93 . "ave(X)", zout,zout) 90 94 c 91 95 CALL histdef(nid_hfnmc, "uv", 92 96 . "uv ", 93 97 . "m2/s2",iim,jj_nb,nhori, nlevSTD3,1,nlevSTD3, nvert, 32, 94 . " inst(X)", zout,zout)98 . "ave(X)", zout,zout) 95 99 c 96 100 CALL histdef(nid_hfnmc, "vq", … … 98 102 . "m/s * (kg/kg)",iim,jj_nb,nhori, 99 103 . nlevSTD3,1,nlevSTD3, nvert, 32, 100 . " inst(X)", zout,zout)104 . "ave(X)", zout,zout) 101 105 c 102 106 CALL histdef(nid_hfnmc, "vT", … … 104 108 . "mK/s",iim,jj_nb,nhori, 105 109 . nlevSTD3,1,nlevSTD3, nvert, 32, 106 . " inst(X)", zout,zout)110 . "ave(X)", zout,zout) 107 111 c 108 112 CALL histdef(nid_hfnmc, "wq", … … 110 114 . "(Pa/s)*(kg/kg)",iim,jj_nb,nhori, 111 115 . nlevSTD3,1,nlevSTD3, nvert, 32, 112 . " inst(X)", zout,zout)116 . "ave(X)", zout,zout) 113 117 c 114 118 CALL histdef(nid_hfnmc, "vphi", … … 116 120 . "m2/s",iim,jj_nb,nhori, 117 121 . nlevSTD3,1,nlevSTD3, nvert, 32, 118 . " inst(X)", zout,zout)122 . "ave(X)", zout,zout) 119 123 c 120 124 CALL histdef(nid_hfnmc, "wT", … … 122 126 . "K*Pa/s",iim,jj_nb,nhori, 123 127 . nlevSTD3,1,nlevSTD3, nvert, 32, 124 . " inst(X)", zout,zout)128 . "ave(X)", zout,zout) 125 129 c 126 130 CALL histdef(nid_hfnmc, "uxu", … … 128 132 . "m2/s2",iim,jj_nb,nhori, 129 133 . nlevSTD3,1,nlevSTD3, nvert, 32, 130 . " inst(X)", zout,zout)134 . "ave(X)", zout,zout) 131 135 c 132 136 CALL histdef(nid_hfnmc, "vxv", … … 134 138 . "m2/s2",iim,jj_nb,nhori, 135 139 . nlevSTD3,1,nlevSTD3, nvert, 32, 136 . " inst(X)", zout,zout)140 . "ave(X)", zout,zout) 137 141 c 138 142 CALL histdef(nid_hfnmc, "TxT", … … 140 144 . "K2",iim,jj_nb,nhori, 141 145 . nlevSTD3,1,nlevSTD3, nvert, 32, 142 . " inst(X)", zout,zout)146 . "ave(X)", zout,zout) 143 147 c 144 148 CALL histend(nid_hfnmc) -
LMDZ4/trunk/libf/phylmd/ini_histmthNMC.h
r1374 r1398 27 27 . nhori, nid_mthnmc) 28 28 c 29 CALL histvert(nid_mthnmc, "plev", "pressure", "Pa", 30 . nlevSTD, rlevSTD, nvert) 31 ccc 29 CALL histvert(nid_mthnmc, "plev", "pressure", "mb", 30 . nlevSTD, rlevSTD/100., nvert,"down") 31 c 32 cIM Astuce MAF: remplacer inst par ave pour les variables NMC pour avoir 33 cIM le time_counter et les bounds 34 cIM 32 35 ccc Champs 3D interpolles sur des niveaux de pression du NMC 33 36 ccc … … 44 47 . "Valeurs non-definies","-", 45 48 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 46 . " inst(X)", zout,zout)49 . "ave(X)", zout,zout) 47 50 c 48 51 CALL histdef(nid_mthnmc, "ta", 49 52 . "Air temperature","K", 50 53 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 51 . " inst(X)", zout,zout)54 . "ave(X)", zout,zout) 52 55 c 53 56 CALL histdef(nid_mthnmc, "zg", 54 57 . "Geopotential height", "m", 55 58 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 56 . " inst(X)", zout,zout)59 . "ave(X)", zout,zout) 57 60 c 58 61 CALL histdef(nid_mthnmc, "hus", 59 62 . "Specific humidity","1", 60 63 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 61 . " inst(X)", zout,zout)64 . "ave(X)", zout,zout) 62 65 c 63 66 CALL histdef(nid_mthnmc, "hur", 64 67 . "Relative humidity", "%", 65 68 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 66 . " inst(X)", zout,zout)69 . "ave(X)", zout,zout) 67 70 c 68 71 CALL histdef(nid_mthnmc, "ua", 69 72 . "Eastward wind","m s-1", 70 73 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 71 . " inst(X)", zout,zout)74 . "ave(X)", zout,zout) 72 75 c 73 76 CALL histdef(nid_mthnmc, "va", 74 77 . "Northward wind","m s-1", 75 78 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 76 . " inst(X)", zout,zout)79 . "ave(X)", zout,zout) 77 80 c 78 81 CALL histdef(nid_mthnmc, "wap", 79 82 . "Lagrangian tendency of air pressure","Pa s-1", 80 83 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 81 . " inst(X)", zout,zout)84 . "ave(X)", zout,zout) 82 85 c 83 86 CALL histdef(nid_mthnmc, "psbg", 84 87 . "Pressure sfce below ground","%", 85 88 . iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 86 . " inst(X)", zout,zout)89 . "ave(X)", zout,zout) 87 90 c 88 91 CALL histdef(nid_mthnmc, "uv", 89 92 . "uv ", 90 93 . "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32, 91 . " inst(X)", zout,zout)94 . "ave(X)", zout,zout) 92 95 c 93 96 CALL histdef(nid_mthnmc, "vq", … … 95 98 . "m/s * (kg/kg)",iim,jj_nb,nhori, 96 99 . nlevSTD,1,nlevSTD, nvert, 32, 97 . " inst(X)", zout,zout)100 . "ave(X)", zout,zout) 98 101 c 99 102 CALL histdef(nid_mthnmc, "vT", … … 101 104 . "mK/s",iim,jj_nb,nhori, 102 105 . nlevSTD,1,nlevSTD, nvert, 32, 103 . " inst(X)", zout,zout)106 . "ave(X)", zout,zout) 104 107 c 105 108 CALL histdef(nid_mthnmc, "wq", … … 107 110 . "(Pa/s)*(kg/kg)",iim,jj_nb,nhori, 108 111 . nlevSTD,1,nlevSTD, nvert, 32, 109 . " inst(X)", zout,zout)112 . "ave(X)", zout,zout) 110 113 c 111 114 CALL histdef(nid_mthnmc, "vphi", … … 113 116 . "m2/s",iim,jj_nb,nhori, 114 117 . nlevSTD,1,nlevSTD, nvert, 32, 115 . " inst(X)", zout,zout)118 . "ave(X)", zout,zout) 116 119 c 117 120 CALL histdef(nid_mthnmc, "wT", … … 119 122 . "K*Pa/s",iim,jj_nb,nhori, 120 123 . nlevSTD,1,nlevSTD, nvert, 32, 121 . " inst(X)", zout,zout)124 . "ave(X)", zout,zout) 122 125 c 123 126 CALL histdef(nid_mthnmc, "uxu", … … 125 128 . "m2/s2",iim,jj_nb,nhori, 126 129 . nlevSTD,1,nlevSTD, nvert, 32, 127 . " inst(X)", zout,zout)130 . "ave(X)", zout,zout) 128 131 c 129 132 CALL histdef(nid_mthnmc, "vxv", … … 131 134 . "m2/s2",iim,jj_nb,nhori, 132 135 . nlevSTD,1,nlevSTD, nvert, 32, 133 . " inst(X)", zout,zout)136 . "ave(X)", zout,zout) 134 137 c 135 138 CALL histdef(nid_mthnmc, "TxT", … … 137 140 . "K2",iim,jj_nb,nhori, 138 141 . nlevSTD,1,nlevSTD, nvert, 32, 139 . " inst(X)", zout,zout)142 . "ave(X)", zout,zout) 140 143 c 141 144 CALL histdef(nid_mthnmc, "tro3", 145 . "Ozone mole fraction", 146 . "1e-9",iim,jj_nb,nhori, 147 . nlevSTD,1,nlevSTD, nvert, 32, 148 . "ave(X)", zout,zout) 149 c 150 if (read_climoz == 2) THEN 151 CALL histdef(nid_mthnmc, "tro3_daylight", 152 . "Daylight ozone mole fraction", 153 . "1e-9",iim,jj_nb,nhori, 154 . nlevSTD,1,nlevSTD, nvert, 32, 155 . "ave(X)", zout,zout) 156 endif 157 c 142 158 CALL histend(nid_mthnmc) 143 159 c -
LMDZ4/trunk/libf/phylmd/ini_undefSTD.F
r1354 r1398 74 74 v2sumSTD(i,k,n)=0. 75 75 T2sumSTD(i,k,n)=0. 76 O3sumSTD(i,k,n)=0. 77 O3daysumSTD(i,k,n)=0. 76 78 ENDDO !i 77 79 ENDDO !k -
LMDZ4/trunk/libf/phylmd/moy_undefSTD.F
r1354 r1398 92 92 T2sumSTD(i,k,n)=T2sumSTD(i,k,n)/ 93 93 $ (freq_moyNMC(n)-tnondef(i,k,n)) 94 O3sumSTD(i,k,n)=O3sumSTD(i,k,n)/ 95 $ (freq_moyNMC(n)-tnondef(i,k,n)) 96 O3daysumSTD(i,k,n)=O3daysumSTD(i,k,n)/ 97 $ (freq_moyNMC(n)-tnondef(i,k,n)) 94 98 cIM END 95 99 ELSE … … 110 114 v2sumSTD(i,k,n)=missing_val 111 115 T2sumSTD(i,k,n)=missing_val 116 O3sumSTD(i,k,n)=missing_val 117 O3daysumSTD(i,k,n)=missing_val 112 118 ENDIF !tnondef(i,k,n).NE.(freq_moyNMC(n)) 113 119 ENDDO !i -
LMDZ4/trunk/libf/phylmd/phys_output_mod.F90
r1390 r1398 233 233 type(ctrl_out),save :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_pblt') 234 234 type(ctrl_out),save :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_lcl') 235 type(ctrl_out),save :: o_s_capCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_capCL')236 type(ctrl_out),save :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_oliqCL')237 type(ctrl_out),save :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_cteiCL')238 235 type(ctrl_out),save :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_therm') 239 type(ctrl_out),save :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb1') 240 type(ctrl_out),save :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb2') 241 type(ctrl_out),save :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb3') 236 !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F 237 ! type(ctrl_out),save :: o_s_capCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_capCL') 238 ! type(ctrl_out),save :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_oliqCL') 239 ! type(ctrl_out),save :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_cteiCL') 240 ! type(ctrl_out),save :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb1') 241 ! type(ctrl_out),save :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb2') 242 ! type(ctrl_out),save :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb3') 242 243 243 244 type(ctrl_out),save :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10 /),'slab_bils_oce') … … 292 293 ctrl_out((/ 1, 1, 3, 10, 10 /),'q10') /) 293 294 294 type(ctrl_out),save,dimension(6) :: o_ phiSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'phi850'), &295 ctrl_out((/ 1, 1, 3, 10, 10 /),' phi700'), &296 ctrl_out((/ 1, 1, 3, 10, 10 /),' phi500'), &297 ctrl_out((/ 1, 1, 3, 10, 10 /),' phi200'), &298 ctrl_out((/ 1, 1, 3, 10, 10 /),' phi50'), &299 ctrl_out((/ 1, 1, 3, 10, 10 /),' phi10') /)295 type(ctrl_out),save,dimension(6) :: o_zSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'z850'), & 296 ctrl_out((/ 1, 1, 3, 10, 10 /),'z700'), & 297 ctrl_out((/ 1, 1, 3, 10, 10 /),'z500'), & 298 ctrl_out((/ 1, 1, 3, 10, 10 /),'z200'), & 299 ctrl_out((/ 1, 1, 3, 10, 10 /),'z50'), & 300 ctrl_out((/ 1, 1, 3, 10, 10 /),'z10') /) 300 301 301 302 … … 453 454 ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_sic') /) 454 455 455 type(ctrl_out),save,dimension(4) :: o_ages_srf = (/ ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_ter'), &456 type(ctrl_out),save,dimension(4) :: o_ages_srf = (/ ctrl_out((/ 10, 10, 10, 10, 10 /),'ages_ter'), & 456 457 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_lic'), & 457 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_oce'), &458 ctrl_out((/ 10, 10, 10, 10, 10 /),'ages_oce'), & 458 459 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_sic') /) 459 460 … … 463 464 ctrl_out((/ 3, 4, 10, 10, 10 /),'rugs_sic') /) 464 465 465 type(ctrl_out),save :: o_alb s = ctrl_out((/ 3, 10, 10, 10, 10 /),'albs')466 type(ctrl_out),save :: o_alb slw = ctrl_out((/ 3, 10, 10, 10, 10 /),'albslw')466 type(ctrl_out),save :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10 /),'alb1') 467 type(ctrl_out),save :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10 /),'alb2') 467 468 468 469 type(ctrl_out),save :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'clwcon') … … 746 747 CALL histvert(nid_files(iff), "presnivs", "Vertical levels", "mb", & 747 748 levmax(iff) - levmin(iff) + 1, & 748 presnivs(levmin(iff):levmax(iff))/100., nvertm(iff) )749 presnivs(levmin(iff):levmax(iff))/100., nvertm(iff),"down") 749 750 750 751 !!!!!!!!!!!!! Traitement des champs 3D pour histhf !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 890 891 type_ecri(:) = type_ecri_files(:) 891 892 endif 892 CALL histdef2d(iff,o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo surf. "//clnsurf(nsrf),"-")893 CALL histdef2d(iff,o_rugs_srf(nsrf)%flag,o_rugs_srf(nsrf)%name," Latent heat flux "//clnsurf(nsrf),"W/m2")893 CALL histdef2d(iff,o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo VIS surf. "//clnsurf(nsrf),"-") 894 CALL histdef2d(iff,o_rugs_srf(nsrf)%flag,o_rugs_srf(nsrf)%name,"Surface roughness "//clnsurf(nsrf),"m") 894 895 CALL histdef2d(iff,o_ages_srf(nsrf)%flag,o_ages_srf(nsrf)%name,"Snow age", "day") 895 896 END DO 896 897 897 898 IF (new_aod .AND. (.NOT. aerosol_couple)) THEN 899 IF (ok_ade.OR.ok_aie) THEN 898 900 899 901 CALL histdef2d(iff,o_od550aer%flag,o_od550aer%name, "Total aerosol optical depth at 550nm", "-") … … 922 924 CALL histdef2d(iff,o_tausumaero(naero)%flag,o_tausumaero(naero)%name,"Aerosol Optical depth at 550 nm "//name_aero(naero),"1") 923 925 END DO 926 ENDIF 924 927 ENDIF 925 928 … … 966 969 967 970 968 CALL histdef2d(iff,o_alb s%flag,o_albs%name, "Surfacealbedo", "-")969 CALL histdef2d(iff,o_alb slw%flag,o_albslw%name, "Surface albedo LW", "-")971 CALL histdef2d(iff,o_alb1%flag,o_alb1%name, "Surface VIS albedo", "-") 972 CALL histdef2d(iff,o_alb2%flag,o_alb2%name, "Surface Near IR albedo", "-") 970 973 CALL histdef2d(iff,o_cdrm%flag,o_cdrm%name, "Momentum drag coef.", "-") 971 974 CALL histdef2d(iff,o_cdrh%flag,o_cdrh%name, "Heat drag coef.", "-" ) … … 984 987 IF(iflag_con.GE.3) THEN ! sb 985 988 CALL histdef2d(iff,o_cape%flag,o_cape%name, "Conv avlbl pot ener", "J/kg") 986 CALL histdef2d(iff,o_pbase%flag,o_pbase%name, "Cld base pressure", " mb")987 CALL histdef2d(iff,o_ptop%flag,o_ptop%name, "Cld top pressure", " mb")989 CALL histdef2d(iff,o_pbase%flag,o_pbase%name, "Cld base pressure", "Pa") 990 CALL histdef2d(iff,o_ptop%flag,o_ptop%name, "Cld top pressure", "Pa") 988 991 CALL histdef2d(iff,o_fbase%flag,o_fbase%name, "Cld base mass flux", "kg/m2/s") 989 992 CALL histdef2d(iff,o_prw%flag,o_prw%name, "Precipitable water", "kg/m2") … … 1012 1015 CALL histdef2d(iff,o_s_pblt%flag,o_s_pblt%name, "t at Boundary Layer Height", "K") 1013 1016 CALL histdef2d(iff,o_s_lcl%flag,o_s_lcl%name, "Condensation level", "m") 1014 CALL histdef2d(iff,o_s_capCL%flag,o_s_capCL%name, "Conv avlbl pot enerfor ABL", "J/m2" )1015 CALL histdef2d(iff,o_s_oliqCL%flag,o_s_oliqCL%name, "Liq Water in BL", "kg/m2")1016 CALL histdef2d(iff,o_s_cteiCL%flag,o_s_cteiCL%name, "Instability criteria(ABL)", "K")1017 1017 CALL histdef2d(iff,o_s_therm%flag,o_s_therm%name, "Exces du thermique", "K") 1018 CALL histdef2d(iff,o_s_trmb1%flag,o_s_trmb1%name, "deep_cape(HBTM2)", "J/m2") 1019 CALL histdef2d(iff,o_s_trmb2%flag,o_s_trmb2%name, "inhibition (HBTM2)", "J/m2") 1020 CALL histdef2d(iff,o_s_trmb3%flag,o_s_trmb3%name, "Point Omega (HBTM2)", "m") 1018 !IM : Les champs suivants (s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F 1019 !CALL histdef2d(iff,o_s_capCL%flag,o_s_capCL%name, "Conv avlbl pot enerfor ABL", "J/m2" ) 1020 !CALL histdef2d(iff,o_s_oliqCL%flag,o_s_oliqCL%name, "Liq Water in BL", "kg/m2") 1021 !CALL histdef2d(iff,o_s_cteiCL%flag,o_s_cteiCL%name, "Instability criteria(ABL)", "K") 1022 !CALL histdef2d(iff,o_s_trmb1%flag,o_s_trmb1%name, "deep_cape(HBTM2)", "J/m2") 1023 !CALL histdef2d(iff,o_s_trmb2%flag,o_s_trmb2%name, "inhibition (HBTM2)", "J/m2") 1024 !CALL histdef2d(iff,o_s_trmb3%flag,o_s_trmb3%name, "Point Omega (HBTM2)", "m") 1021 1025 1022 1026 ! Champs interpolles sur des niveaux de pression … … 1040 1044 CALL histdef2d(iff,o_vSTDlevs(ilev)%flag,o_vSTDlevs(ilev)%name,"Meridional wind "//bb2//"mb", "m/s") 1041 1045 CALL histdef2d(iff,o_wSTDlevs(ilev)%flag,o_wSTDlevs(ilev)%name,"Vertical wind "//bb2//"mb", "Pa/s") 1042 CALL histdef2d(iff,o_ phiSTDlevs(ilev)%flag,o_phiSTDlevs(ilev)%name,"Geopotential"//bb2//"mb", "m")1046 CALL histdef2d(iff,o_zSTDlevs(ilev)%flag,o_zSTDlevs(ilev)%name,"Geopotential height "//bb2//"mb", "m") 1043 1047 CALL histdef2d(iff,o_qSTDlevs(ilev)%flag,o_qSTDlevs(ilev)%name,"Specific humidity "//bb2//"mb", "kg/kg" ) 1044 1048 CALL histdef2d(iff,o_tSTDlevs(ilev)%flag,o_tSTDlevs(ilev)%name,"Temperature "//bb2//"mb", "K") … … 1097 1101 CALL histdef3d(iff,o_temp%flag,o_temp%name, "Air temperature", "K" ) 1098 1102 CALL histdef3d(iff,o_theta%flag,o_theta%name, "Potential air temperature", "K" ) 1099 CALL histdef3d(iff,o_ovap%flag,o_ovap%name, "Specific humidity + dqphy", "kg/kg" )1100 CALL histdef3d(iff,o_ovapinit%flag,o_ovapinit%name, "Specific humidity ", "kg/kg" )1103 CALL histdef3d(iff,o_ovap%flag,o_ovap%name, "Specific humidity", "kg/kg" ) 1104 CALL histdef3d(iff,o_ovapinit%flag,o_ovapinit%name, "Specific humidity (begin of timestep)", "kg/kg" ) 1101 1105 CALL histdef3d(iff,o_geop%flag,o_geop%name, "Geopotential height", "m2/s2") 1102 1106 CALL histdef3d(iff,o_vitu%flag,o_vitu%name, "Zonal wind", "m/s" ) … … 1195 1199 CALL histdef3d(iff,o_a_th%flag,o_a_th%name, "Thermal plume fraction", "") 1196 1200 CALL histdef3d(iff,o_d_th%flag,o_d_th%name, "Thermal plume detrainment", "K/s") 1197 endif !iflag_thermals.gt.11201 !IM endif !iflag_thermals.gt.1 1198 1202 CALL histdef2d(iff,o_f0_th%flag,o_f0_th%name, "Thermal closure mass flux", "K/s") 1199 1203 CALL histdef2d(iff,o_zmax_th%flag,o_zmax_th%name, "Thermal plume height", "K/s") 1200 1204 CALL histdef3d(iff,o_dqthe%flag,o_dqthe%name, "Dry adjust. dQ", "(kg/kg)/s") 1205 endif !iflag_thermals.gt.1 1201 1206 CALL histdef3d(iff,o_dtajs%flag,o_dtajs%name, "Dry adjust. dT", "K/s") 1202 1207 CALL histdef3d(iff,o_dqajs%flag,o_dqajs%name, "Dry adjust. dQ", "(kg/kg)/s") -
LMDZ4/trunk/libf/phylmd/phys_output_write.h
r1367 r1398 599 599 ENDIF 600 600 601 IF (o_s_capCL%flag(iff)<=lev_files(iff)) THEN602 CALL histwrite_phy(nid_files(iff),o_s_capCL%name,itau_w,s_capCL)603 ENDIF604 605 IF (o_s_oliqCL%flag(iff)<=lev_files(iff)) THEN606 CALL histwrite_phy(nid_files(iff),o_s_oliqCL%name,itau_w,s_oliqCL)607 ENDIF608 609 IF (o_s_cteiCL%flag(iff)<=lev_files(iff)) THEN610 CALL histwrite_phy(nid_files(iff),o_s_cteiCL%name,itau_w,s_cteiCL)611 ENDIF612 613 601 IF (o_s_therm%flag(iff)<=lev_files(iff)) THEN 614 602 CALL histwrite_phy(nid_files(iff),o_s_therm%name,itau_w,s_therm) 615 603 ENDIF 616 604 617 IF (o_s_trmb1%flag(iff)<=lev_files(iff)) THEN 618 CALL histwrite_phy(nid_files(iff),o_s_trmb1%name,itau_w,s_trmb1) 619 ENDIF 620 621 IF (o_s_trmb2%flag(iff)<=lev_files(iff)) THEN 622 CALL histwrite_phy(nid_files(iff),o_s_trmb2%name,itau_w,s_trmb2) 623 ENDIF 624 625 IF (o_s_trmb3%flag(iff)<=lev_files(iff)) THEN 626 CALL histwrite_phy(nid_files(iff),o_s_trmb3%name,itau_w,s_trmb3) 627 ENDIF 605 !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F 606 ! IF (o_s_capCL%flag(iff)<=lev_files(iff)) THEN 607 ! CALL histwrite_phy(nid_files(iff),o_s_capCL%name,itau_w,s_capCL) 608 ! ENDIF 609 610 ! IF (o_s_oliqCL%flag(iff)<=lev_files(iff)) THEN 611 ! CALL histwrite_phy(nid_files(iff),o_s_oliqCL%name,itau_w,s_oliqCL) 612 ! ENDIF 613 614 ! IF (o_s_cteiCL%flag(iff)<=lev_files(iff)) THEN 615 ! CALL histwrite_phy(nid_files(iff),o_s_cteiCL%name,itau_w,s_cteiCL) 616 ! ENDIF 617 618 ! IF (o_s_trmb1%flag(iff)<=lev_files(iff)) THEN 619 ! CALL histwrite_phy(nid_files(iff),o_s_trmb1%name,itau_w,s_trmb1) 620 ! ENDIF 621 622 ! IF (o_s_trmb2%flag(iff)<=lev_files(iff)) THEN 623 ! CALL histwrite_phy(nid_files(iff),o_s_trmb2%name,itau_w,s_trmb2) 624 ! ENDIF 625 626 ! IF (o_s_trmb3%flag(iff)<=lev_files(iff)) THEN 627 ! CALL histwrite_phy(nid_files(iff),o_s_trmb3%name,itau_w,s_trmb3) 628 ! ENDIF 628 629 629 630 ! Champs interpolles sur des niveaux de pression … … 655 656 ENDIF 656 657 657 IF (o_ phiSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN658 CALL histwrite_phy(nid_files(iff),o_ phiSTDlevs(ll)%name,658 IF (o_zSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN 659 CALL histwrite_phy(nid_files(iff),o_zSTDlevs(ll)%name, 659 660 & itau_w,phiwriteSTD(:,k,iff)) 660 661 ENDIF … … 1173 1174 ENDIF 1174 1175 1176 IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN 1177 CALL histwrite_phy(nid_files(iff),o_ovapinit%name,itau_w, 1178 $ qx(:,:,ivap)) 1179 ENDIF 1180 1175 1181 IF (o_ovap%flag(iff)<=lev_files(iff)) THEN 1176 CALL histwrite_phy(nid_files(iff),o_ovap%name,itau_w,qx(:,:,ivap)) 1177 ENDIF 1178 1179 IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN 1180 CALL histwrite_phy(nid_files(iff), 1181 $ o_ovapinit%name,itau_w,q_seri) 1182 CALL histwrite_phy(nid_files(iff), 1183 $ o_ovap%name,itau_w,q_seri) 1182 1184 ENDIF 1183 1185 … … 1262 1264 ENDDO !nsrf=1, nbsrf 1263 1265 1264 IF (o_alb s%flag(iff)<=lev_files(iff)) THEN1265 CALL histwrite_phy(nid_files(iff),o_alb s%name,itau_w,albsol1)1266 ENDIF 1267 1268 IF (o_alb slw%flag(iff)<=lev_files(iff)) THEN1269 CALL histwrite_phy(nid_files(iff),o_alb slw%name,itau_w,albsol2)1266 IF (o_alb1%flag(iff)<=lev_files(iff)) THEN 1267 CALL histwrite_phy(nid_files(iff),o_alb1%name,itau_w,albsol1) 1268 ENDIF 1269 1270 IF (o_alb2%flag(iff)<=lev_files(iff)) THEN 1271 CALL histwrite_phy(nid_files(iff),o_alb2%name,itau_w,albsol2) 1270 1272 ENDIF 1271 1273 … … 1421 1423 ENDIF 1422 1424 1423 1425 !IM ENDIF !iflag_thermals 1424 1426 1425 1427 IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN … … 1435 1437 CALL histwrite_phy(nid_files(iff),o_dqthe%name,itau_w,zx_tmp_fi3d) 1436 1438 ENDIF 1439 1440 ENDIF !iflag_thermals 1437 1441 1438 1442 IF (o_dtajs%flag(iff)<=lev_files(iff)) THEN -
LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90
r1362 r1398 117 117 REAL,ALLOCATABLE,SAVE :: T2sumSTD(:,:,:) 118 118 !$OMP THREADPRIVATE(T2sumSTD) 119 REAL,ALLOCATABLE,SAVE :: O3sumSTD(:,:,:), O3daysumSTD(:,:,:) 120 !$OMP THREADPRIVATE(O3sumSTD,O3daysumSTD) 119 121 !IM begin 120 122 REAL,ALLOCATABLE,SAVE :: wlevSTD(:,:), ulevSTD(:,:), vlevSTD(:,:) … … 142 144 REAL,ALLOCATABLE,SAVE :: T2STD(:,:) 143 145 !$OMP THREADPRIVATE(T2STD) 146 REAL,ALLOCATABLE,SAVE :: O3STD(:,:), O3daySTD(:,:) 147 !$OMP THREADPRIVATE(O3STD,O3daySTD) 144 148 !IM end 145 149 INTEGER,ALLOCATABLE,SAVE :: seed_old(:,:) … … 150 154 !$OMP THREADPRIVATE(alb_neig) 151 155 !cloud base mass flux 152 REAL,ALLOCATABLE,SAVE :: ema_ workcbmf(:), ema_cbmf(:)153 !$OMP THREADPRIVATE(ema_ workcbmf,ema_cbmf)156 REAL,ALLOCATABLE,SAVE :: ema_cbmf(:) 157 !$OMP THREADPRIVATE(ema_cbmf) 154 158 !cloud base pressure & cloud top pressure 155 159 REAL,ALLOCATABLE,SAVE :: ema_pcb(:), ema_pct(:) … … 379 383 ALLOCATE(v2sumSTD(klon,nlevSTD,nout)) 380 384 ALLOCATE(T2sumSTD(klon,nlevSTD,nout)) 385 ALLOCATE(O3sumSTD(klon,nlevSTD,nout)) 386 ALLOCATE(O3daysumSTD(klon,nlevSTD,nout)) 381 387 !IM beg 382 388 ALLOCATE(wlevSTD(klon,nlevSTD), ulevSTD(klon,nlevSTD), vlevSTD(klon,nlevSTD)) … … 388 394 ALLOCATE(u2STD(klon,nlevSTD),v2STD(klon,nlevSTD)) 389 395 ALLOCATE(T2STD(klon,nlevSTD)) 396 ALLOCATE(O3STD(klon,nlevSTD)) 397 ALLOCATE(O3daySTD(klon,nlevSTD)) 390 398 !IM end 391 399 ALLOCATE(seed_old(klon,napisccp)) … … 393 401 ALLOCATE(alb_neig(klon)) 394 402 !cloud base mass flux 395 ALLOCATE(ema_ workcbmf(klon), ema_cbmf(klon))403 ALLOCATE(ema_cbmf(klon)) 396 404 !cloud base pressure & cloud top pressure 397 405 ALLOCATE(ema_pcb(klon), ema_pct(klon)) … … 490 498 deallocate(v2sumSTD) 491 499 deallocate(T2sumSTD) 500 deallocate(O3sumSTD) 501 deallocate(O3daysumSTD) 492 502 !IM beg 493 503 deallocate(wlevSTD,ulevSTD,vlevSTD,tlevSTD,qlevSTD,rhlevSTD,philevSTD) 494 deallocate(uvSTD,vqSTD,vTSTD,wqSTD,vphiSTD,wTSTD,u2STD,v2STD,T2STD )504 deallocate(uvSTD,vqSTD,vTSTD,wqSTD,vphiSTD,wTSTD,u2STD,v2STD,T2STD,O3STD,O3daySTD) 495 505 !IM end 496 506 deallocate(seed_old) 497 507 deallocate(zuthe, zvthe) 498 508 deallocate(alb_neig) 499 deallocate(ema_ workcbmf, ema_cbmf)509 deallocate(ema_cbmf) 500 510 deallocate(ema_pcb, ema_pct) 501 511 deallocate(Ma, qcondc) -
LMDZ4/trunk/libf/phylmd/physiq.F
r1391 r1398 1410 1410 ema_pcb(i) = 0. 1411 1411 ema_pct(i) = 0. 1412 1412 c ema_workcbmf(i) = 0. 1413 1413 ENDDO 1414 1414 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>BEG … … 1435 1435 c================================================================================ 1436 1436 1437 ENDIF 1437 ENDIF !debut 1438 1438 1439 1439 DO i=1,klon … … 2122 2122 . d_t_con,d_q_con,d_u_con,d_v_con,d_tr, 2123 2123 . rain_con, snow_con, ibas_con, itop_con, sigd, 2124 . upwd,dnwd,dnwd0,2124 . ema_cbmf,upwd,dnwd,dnwd0, 2125 2125 . Ma,mip,Vprecip,cape,cin,tvp,Tconv,iflagctrl, 2126 2126 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd, … … 2194 2194 endif 2195 2195 endif 2196 ENDDO 2197 DO i = 1, klon 2198 ema_cbmf(i) = ema_workcbmf(i) 2199 ENDDO 2196 ENDDO 2200 2197 ELSE IF (iflag_con.eq.0) THEN 2201 2198 write(lunout,*) 'On n appelle pas la convection' … … 3573 3570 DO k = 1, klev 3574 3571 DO i = 1, klon 3575 theta(i,k)=t(i,k)*(100000./pplay(i,k))**(RD/RCPD) 3572 cJYG/IM theta en debut du pas de temps 3573 cJYG/IM theta(i,k)=t(i,k)*(100000./pplay(i,k))**(RD/RCPD) 3574 cJYG/IM theta en fin de pas de temps de physique 3575 theta(i,k)=t_seri(i,k)*(100000./pplay(i,k))**(RD/RCPD) 3576 3576 ENDDO 3577 3577 ENDDO -
LMDZ4/trunk/libf/phylmd/undefSTD.F
r1354 r1398 84 84 v2sumSTD(i,k,n)=v2sumSTD(i,k,n)+v2STD(i,k) 85 85 T2sumSTD(i,k,n)=T2sumSTD(i,k,n)+T2STD(i,k) 86 O3sumSTD(i,k,n)=O3sumSTD(i,k,n)+O3STD(i,k) 87 O3daysumSTD(i,k,n)=O3daysumSTD(i,k,n)+O3daySTD(i,k) 86 88 ENDIF 87 89 ENDDO !i -
LMDZ4/trunk/libf/phylmd/write_histhfNMC.h
r1374 r1398 33 33 DO i=1, klon 34 34 IF(tnondef(i,k,3).NE.missing_val) THEN 35 zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,3))/ ecrit_hf2mth35 zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,3))/freq_moyNMC(3) 36 36 ELSE 37 37 zx_tmp_fiNC(i,k) = missing_val -
LMDZ4/trunk/libf/phylmd/write_histmthNMC.h
r1374 r1398 33 33 DO i=1, klon 34 34 IF(tnondef(i,k,1).NE.missing_val) THEN 35 zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,1))/ ecrit_hf2mth35 zx_tmp_fiNC(i,k) = (100.*tnondef(i,k,1))/freq_moyNMC(1) 36 36 ELSE 37 37 zx_tmp_fiNC(i,k) = missing_val … … 60 60 CALL histwrite_phy(nid_mthnmc,"TxT",itau_w,T2sumSTD(:,:,1)) 61 61 c 62 DO k=1, nlevSTD 63 DO i=1, klon 64 IF(O3sumSTD(i,k,1).NE.missing_val) THEN 65 zx_tmp_fiNC(i,k) = O3sumSTD(i,k,1) * 1.e+9 66 ELSE 67 zx_tmp_fiNC(i,k) = missing_val 68 ENDIF 69 ENDDO 70 ENDDO !k=1, nlevSTD 71 CALL histwrite_phy(nid_mthnmc,"tro3",itau_w, 72 $ zx_tmp_fiNC) 73 c 74 if (read_climoz == 2) THEN 75 DO k=1, nlevSTD 76 DO i=1, klon 77 IF(O3daysumSTD(i,k,1).NE.missing_val) THEN 78 zx_tmp_fiNC(i,k) = O3daysumSTD(i,k,1) * 1.e+9 79 ELSE 80 zx_tmp_fiNC(i,k) = missing_val 81 ENDIF 82 ENDDO 83 ENDDO !k=1, nlevSTD 84 c 85 CALL histwrite_phy(nid_mthnmc,"tro3_daylight",itau_w, 86 $ zx_tmp_fiNC) 87 endif 88 c 62 89 if (ok_sync) then 63 90 c$OMP MASTER
Note: See TracChangeset
for help on using the changeset viewer.