Changeset 433
- Timestamp:
- Dec 19, 2002, 5:46:39 PM (22 years ago)
- Location:
- LMDZ.3.3/branches/rel-LF/libf/phylmd
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/YOMCST.h
r98 r433 8 8 REAL RA,RG,R1SA 9 9 ! A1.3 Radiation 10 REAL RSIGMA,RI0 10 ! REAL RSIGMA,RI0 11 REAL RSIGMA 11 12 ! A1.4 Thermodynamic gas phase 12 13 REAL R,RMD,RMV,RD,RV,RCPD,RCPV,RCVD,RCVV … … 20 21 REAL RALPD,RBETD,RGAMD 21 22 ! 23 ! S ,RSIGMA,RI0 22 24 COMMON/YOMCST/RPI ,RCLUM ,RHPLA ,RKBOL ,RNAVO 23 25 S ,RDAY ,REA ,REPSM ,RSIYEA,RSIDAY,ROMEGA 24 26 s ,R_ecc, R_peri, R_incl 25 27 S ,RA ,RG ,R1SA 26 S ,RSIGMA ,RI028 S ,RSIGMA 27 29 S ,R ,RMD ,RMV ,RD ,RV ,RCPD 28 30 S ,RCPV ,RCVD ,RCVV ,RKAPPA,RETV -
LMDZ.3.3/branches/rel-LF/libf/phylmd/YOMCST.inc
r230 r433 8 8 REAL :: RA,RG,R1SA 9 9 ! A1.3 Radiation 10 REAL :: RSIGMA,RI0 10 ! REAL :: RSIGMA,RI0 11 REAL :: RSIGMA 11 12 ! A1.4 Thermodynamic gas phase 12 13 REAL :: R,RMD,RMV,RD,RV,RCPD,RCPV,RCVD,RCVV … … 20 21 REAL :: RALPD,RBETD,RGAMD 21 22 ! 23 !IM & ,R1SA ,RSIGMA,RI0,R ,RMD ,RMV ,RD ,RV ,RCPD ,RCPV,RCVD & 22 24 COMMON/YOMCST/RPI ,RCLUM, RHPLA, RKBOL, RNAVO ,RDAY ,REA & 23 25 & ,REPSM ,RSIYEA,RSIDAY,ROMEGA ,R_ecc, R_peri, R_incl, RA ,RG & 24 & ,R1SA ,RSIGMA,R I0,R,RMD ,RMV ,RD ,RV ,RCPD ,RCPV,RCVD &26 & ,R1SA ,RSIGMA,R ,RMD ,RMV ,RD ,RV ,RCPD ,RCPV,RCVD & 25 27 & ,RCVV ,RKAPPA,RETV ,RCW ,RCS ,RLVTT ,RLSTT ,RLMLT ,RTT ,RATM & 26 28 & ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS ,RALPD ,RBETD ,RGAMD -
LMDZ.3.3/branches/rel-LF/libf/phylmd/albedo.F
r406 r433 1 c 2 c $Header$ 3 c 1 4 SUBROUTINE alboc(rjour,rlat,albedo) 2 5 IMPLICIT none … … 19 22 ccc PARAMETER (fmagic=0.7) 20 23 cccIM => a remplacer 21 cccIMPARAMETER (fmagic=1.1)24 PARAMETER (fmagic=1.1) 22 25 c PARAMETER (fmagic=1.0) 23 26 c PARAMETER (fmagic=0.7) 24 27 INTEGER npts ! il controle la precision de l'integration 25 28 PARAMETER (npts=120) ! 120 correspond a l'interval 6 minutes … … 92 95 rmu = aa + bb * COS(0.0) 93 96 rmu = MAX(0.0, rmu) 94 alb = 0.058/(rmu + 0.30) 97 cIM cf. PB alb = 0.058/(rmu + 0.30) 98 c alb = 0.058/(rmu + 0.30) * 1.5 99 alb = 0.058/(rmu + 0.30) * 1.2 95 100 srmu = rmu 96 101 salb = alb * rmu … … 101 106 rmu = aa + bb * COS(FLOAT(k)/FLOAT(npts)*zpi) 102 107 rmu = MAX(0.0, rmu) 103 alb = 0.058/(rmu + 0.30) 108 cIM cf. PB alb = 0.058/(rmu + 0.30) 109 c alb = 0.058/(rmu + 0.30) * 1.5 110 alb = 0.058/(rmu + 0.30) * 1.2 104 111 srmu = srmu + rmu * 2.0 105 112 salb = salb + alb*rmu * 2.0 … … 136 143 ccc PARAMETER (fmagic=0.7) 137 144 cccIM => a remplacer 138 cccIMPARAMETER (fmagic=1.1)145 PARAMETER (fmagic=1.1) 139 146 c PARAMETER (fmagic=1.0) 140 147 c PARAMETER (fmagic=0.7) 141 148 c 142 149 REAL fauxo … … 164 171 DO i = 1, klon 165 172 rmu0(i) = MAX(rmu0(i),0.0) 166 albedo(i) = 0.058/(rmu0(i) + 0.30) 173 cIM cf. PB albedo(i) = 0.058/(rmu0(i) + 0.30) 174 c albedo(i) = 0.058/(rmu0(i) + 0.30) * 1.5 175 albedo(i) = 0.058/(rmu0(i) + 0.30) * 1.2 167 176 albedo(i) = MAX(MIN(albedo(i),0.60),0.04) 168 177 ENDDO -
LMDZ.3.3/branches/rel-LF/libf/phylmd/clesphys.h
r2 r433 4 4 LOGICAL ok_limitvrai 5 5 INTEGER nbapp_rad, iflag_con 6 REAL co2_ppm, solaire 7 REAL*8 RCO2, RCH4, RN2O, RCFC11, RCFC12 6 8 7 COMMON/clesphys/cycle_diurne, soil_model, new_oliq 9 COMMON/clesphys/cycle_diurne, soil_model, new_oliq, 8 10 , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con 9 c 11 , , co2_ppm, solaire, RCO2, RCH4, RN2O, RCFC11, RCFC12 -
LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F
r419 r433 119 119 real rain_f(klon), snow_f(klon) 120 120 REAL fder(klon) 121 REAL sollw(klon), solsw(klon), sollwdown(klon) 121 cIM cf. JLD REAL sollw(klon), solsw(klon), sollwdown(klon) 122 REAL sollw(klon,nbsrf), solsw(klon,nbsrf), sollwdown(klon) 122 123 REAL rugos(klon,nbsrf) 123 124 C la nouvelle repartition des surfaces sortie de l'interface … … 407 408 ytaux(j) = flux_u(i,1,nsrf) 408 409 ytauy(j) = flux_v(i,1,nsrf) 409 c$$$ ysolsw(j) = solsw(i) 410 ysolsw(j) = (1 - albe(i,nsrf)) 411 $ /(1 - pctsrf(i,is_ter) * albe(i,is_ter) 412 $ - pctsrf(i, is_lic) *albe(i,is_lic) 413 $ - pctsrf(i, is_oce) *albe(i,is_oce) 414 $ - pctsrf(i, is_sic) *albe(i,is_sic) 415 $ ) * solsw(i) 416 ysollw(j) = sollw(i) 410 c$$$ ysolsw(j) = solsw(i) 411 cIM cf. JLD 412 ysolsw(j) = solsw(i,nsrf) 413 c ysolsw(j) = (1 - albe(i,nsrf)) 414 c $ /(1 - pctsrf(i,is_ter) * albe(i,is_ter) 415 c $ - pctsrf(i, is_lic) *albe(i,is_lic) 416 c $ - pctsrf(i, is_oce) *albe(i,is_oce) 417 c $ - pctsrf(i, is_sic) *albe(i,is_sic) 418 c $ ) * solsw(i) 419 cIM cf. JLD ysollw(j) = sollw(i) 420 ysollw(j) = sollw(i,nsrf) 417 421 ysollwdown(j) = sollwdown(i) 418 422 yrugos(j) = rugos(i,nsrf) … … 421 425 yv1(j) = v1lay(i) 422 426 c$$$ yrads(j) = totalflu(i) 423 yrads(j) = (1 - albe(i,nsrf)) 424 $ /(1 - pctsrf(i,is_ter) * albe(i,is_ter) 425 $ - pctsrf(i, is_lic) *albe(i,is_lic) 426 $ - pctsrf(i, is_oce) *albe(i,is_oce) 427 $ - pctsrf(i, is_sic) *albe(i,is_sic) 428 $ ) * solsw(i) + sollw(i) 427 cIM cf. JLD 428 yrads(j) = ysolsw(j)+ ysollw(j) 429 c yrads(j) = (1 - albe(i,nsrf)) 430 c $ /(1 - pctsrf(i,is_ter) * albe(i,is_ter) 431 c $ - pctsrf(i, is_lic) *albe(i,is_lic) 432 c $ - pctsrf(i, is_oce) *albe(i,is_oce) 433 c $ - pctsrf(i, is_sic) *albe(i,is_sic) 434 cIM cf. JLD $ ) * solsw(i) + sollw(i) 435 c $ ) * solsw(i) + ysollw(j) 429 436 ypaprs(j,klev+1) = paprs(i,klev+1) 430 437 END DO … … 453 460 CALL coefkz(nsrf, knon, ypaprs, ypplay, 454 461 . yts, yrugos, yu, yv, yt, yq, 462 cIM remplace qsurf par yqsol 463 . yqsol, 455 464 . ycoefm, ycoefh) 456 465 CALL coefkz2(nsrf, knon, ypaprs, ypplay,yt, … … 595 604 c 596 605 #undef T2m 606 #define T2m 597 607 #ifdef T2m 598 608 ccc diagnostic t,q a 2m et u, v a 10m … … 1136 1146 . ts, rugos, 1137 1147 . u,v,t,q, 1148 cIM remplace qsurf par yqsol 1149 . qsol, 1138 1150 . pcfm, pcfh) 1139 1151 IMPLICIT none … … 1226 1238 REAL gamt(2:klev) 1227 1239 c essai qsurf 1228 real qsurf(klon) 1240 cIM real qsurf(klon) 1241 real qsol(klon) 1229 1242 c 1230 1243 LOGICAL appel1er … … 1264 1277 ENDDO 1265 1278 1279 cIM remplace qsurf par qsol 1280 IF(nsrf.NE.1) THEN 1266 1281 do i = 1, knon 1267 qsurf(i) = qsatl(ts(i))/paprs(i,1) 1282 cIM qsurf(i) = qsatl(ts(i))/paprs(i,1) 1283 qsol(i) = qsatl(ts(i))/paprs(i,1) 1268 1284 enddo 1285 ENDIF 1269 1286 1270 1287 c … … 1298 1315 c Calculer le frottement au sol (Cdrag) 1299 1316 c 1300 c DO i = 1, knon 1301 DO i = 1, klon 1317 DO i = 1, knon 1302 1318 u1(i) = u(i,1) 1303 1319 v1(i) = v(i,1) … … 1309 1325 CALL clcdrag(klon, knon, nsrf, zxli, 1310 1326 $ u1, v1, t1, q1, z1, 1311 $ ts, qs urf, rugos,1327 $ ts, qsol, rugos, 1312 1328 $ pcfm1, pcfh1) 1329 cIM $ ts, qsurf, rugos, 1313 1330 C 1314 1331 DO i = 1, knon -
LMDZ.3.3/branches/rel-LF/libf/phylmd/conf_phys.F90
r395 r433 13 13 #include "fisrtilp.inc" 14 14 #include "nuage.h" 15 #include "YOMCST.inc" 16 !IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12 17 include "clesphys.inc" 15 18 ! 16 19 ! Configuration de la "physique" de LMDZ a l'aide de la fonction … … 95 98 call getin('if_ebil', if_ebil) 96 99 !! 100 !! Constante solaire & Parametres orbitaux & taux gaz effet de serre BEG 101 !! 102 !Config Key = R_ecc 103 !Config Desc = Excentricite 104 !Config Def = 0.016715 105 !Config Help = 106 ! 107 !valeur AMIP II 108 R_ecc = 0.016715 109 call getin('R_ecc', R_ecc) 110 !! 111 !Config Key = R_peri 112 !Config Desc = Equinoxe 113 !Config Def = 114 !Config Help = 115 ! 116 ! 117 !valeur AMIP II 118 R_peri = 102.7 119 call getin('R_peri', R_peri) 120 !! 121 !Config Key = R_incl 122 !Config Desc = Inclinaison 123 !Config Def = 124 !Config Help = 125 ! 126 ! 127 !valeur AMIP II 128 R_incl = 23.441 129 call getin('R_incl', R_incl) 130 !! 131 !Config Key = solaire 132 !Config Desc = Constante solaire en W/m2 133 !Config Def = 1365. 134 !Config Help = 135 ! 136 ! 137 !valeur AMIP II 138 solaire = 1365. 139 call getin('solaire', solaire) 140 !! 141 !Config Key = co2_ppm 142 !Config Desc = concentration du gaz carbonique en ppmv 143 !Config Def = 348. 144 !Config Help = 145 ! 146 ! 147 !valeur AMIP II 148 co2_ppm = 348. 149 call getin('co2_ppm', co2_ppm) 150 !! 151 !Config Key = RCO2 152 !Config Desc = Concentration du CO2 153 !Config Def = co2_ppm * 1.0e-06 * 44.011/28.97 154 !Config Def = 348. * 1.0e-06 * 44.011/28.97 155 !Config Help = 156 ! 157 ! RCO2 = 5.286789092164308E-04 158 !ancienne valeur 159 RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97 ! pour co2_ppm=348. 160 161 call getin('RCO2', RCO2) 162 !! 163 !Config Key = RCH4 164 !Config Desc = Concentration du CH4 165 !Config Def = 1.65E-06* 16.043/28.97 166 !Config Help = 167 ! 168 ! 169 !valeur AMIP II 170 RCH4 = 1.65E-06* 16.043/28.97 171 ! RCH4 = 9.137366240938903E-07 172 ! 173 !ancienne valeur 174 ! RCH4 = 1.72E-06* 16.043/28.97 175 call getin('RCH4', RCH4) 176 !! 177 !Config Key = RN2O 178 !Config Desc = Concentration du N2O 179 !Config Def = 306.E-09* 44.013/28.97 180 !Config Help = 181 ! 182 ! 183 !valeur AMIP II 184 RN2O = 306.E-09* 44.013/28.97 185 ! RN2O = 4.648939592682085E-07 186 ! 187 !ancienne valeur 188 ! RN2O = 310.E-09* 44.013/28.97 189 call getin('RN2O', RN2O) 190 !! 191 !Config Key = RCFC11 192 !Config Desc = Concentration du CFC11 193 !Config Def = 280.E-12* 137.3686/28.97 194 !Config Help = 195 ! 196 ! 197 RCFC11 = 280.E-12* 137.3686/28.97 198 ! RCFC11 = 1.327690990680013E-09 199 call getin('RCFC11', RCFC11) 200 !! 201 !Config Key = RCFC12 202 !Config Desc = Concentration du CFC12 203 !Config Def = 484.E-12* 120.9140/28.97 204 !Config Help = 205 ! 206 ! 207 RCFC12 = 484.E-12* 120.9140/28.97 208 ! RCFC12 = 2.020102726958923E-09 209 call getin('RCFC12', RCFC12) 210 !! 211 !! Constante solaire & Parametres orbitaux & taux gaz effet de serre END 212 !! 97 213 !! KE 98 214 ! … … 292 408 write(numout,*)' Sortie instantanee = ', ok_instan 293 409 write(numout,*)' Sortie bilan d''energie, if_ebil =', if_ebil 410 !IM constantes physiques BEG 411 write(numout,*)' Excentricite = ',R_ecc 412 write(numout,*)' Equinoxe = ',R_peri 413 write(numout,*)' Inclinaison =',R_incl 414 write(numout,*)' Constante solaire =',solaire 415 write(numout,*)' co2_ppm =',co2_ppm 416 write(numout,*)' RCO2 = ',RCO2 417 write(numout,*)' RCH4 = ',RCH4 418 write(numout,*)' RN2O = ',RN2O 419 write(numout,*)' RCFC11 = ',RCFC11 420 write(numout,*)' RCFC12 = ',RCFC12 421 !IM constantes physiques END 294 422 write(numout,*)' epmax = ', epmax 295 423 write(numout,*)' ok_adj_ema = ', ok_adj_ema -
LMDZ.3.3/branches/rel-LF/libf/phylmd/convect3.F
r408 r433 1042 1042 FR(1)=0.1*MP(2)*(RP(2)-RR(1))* 1043 1043 Ccorrection bug conservation eau 1044 C 1 DPINV+SIGD*0.5*(EVAP(1)+EVAP(2)) 1045 1 DPINV+SIGD*EVAP(1) 1044 C 1 DPINV+SIGD*0.5*(EVAP(1)+EVAP(2)) 1045 1 DPINV+SIGD*0.5*(EVAP(1)+EVAP(2)) 1046 cIM cf. SBL 1047 C 1 DPINV+SIGD*EVAP(1) 1046 1048 FR(1)=FR(1)+0.1*AM*(RR(2)-RR(1))*DPINV 1047 1049 FU(1)=FU(1)+0.1*DPINV*(MP(2)*(UP(2)-U(1))+AM*(U(2)-U(1))) -
LMDZ.3.3/branches/rel-LF/libf/phylmd/cv3_routines.F
r418 r433 26 26 27 27 #include "cvparam3.h" 28 #include "conema3.h" 28 29 29 30 integer nd … … 47 48 pbcrit = 150.0 48 49 ptcrit = 500.0 49 50 cIM cf. FH epmax = 0.993 50 51 51 52 omtrain = 45.0 ! used also for snow (no disctinction rain/snow) … … 864 865 #include "cvthermo.h" 865 866 #include "cvparam3.h" 867 #include "conema3.h" 866 868 867 869 c inputs: … … 2128 2130 #include "cvparam3.h" 2129 2131 #include "cvflag.h" 2132 #include "conema3.h" 2130 2133 2131 2134 c inputs: … … 2936 2939 : *rrd*tvp(il,i)/p(il,i)/100./delta ! cld 2937 2940 siga(il,i) = min(siga(il,i),1.0) ! cld 2941 cIM cf. FH 2942 if (iflag_clw.eq.0) then 2938 2943 qcondc(il,i)=siga(il,i)*clw(il,i)*(1.-ep(il,i)) ! cld 2939 2944 : + (1.-siga(il,i))*qcond(il,i) ! cld 2945 else if (iflag_clw.eq.1) then 2946 qcondc(il,i)=qcond(il,i) ! cld 2947 endif 2948 2940 2949 enddo ! cld 2941 2950 enddo ! cld -
LMDZ.3.3/branches/rel-LF/libf/phylmd/cvparam3.h
r418 r433 9 9 integer noff, minorig, nl, nlp, nlm 10 10 real sigd, spfac 11 real pbcrit, ptcrit, epmax 11 cIM cf. FH : pour compatibilite avec conema3 TEMPORAIRE real pbcrit, ptcrit, epmax 12 real pbcrit, ptcrit 12 13 real omtrain 13 14 real dtovsh, dpbase, dttrig … … 18 19 COMMON /cvparam3/ noff, minorig, nl, nlp, nlm 19 20 : , sigd, spfac 20 : ,pbcrit, ptcrit, epmax 21 cIM cf. FH : pour compatibilite avec conema3 TEMPORAIRE : ,pbcrit, ptcrit, epmax 22 : ,pbcrit, ptcrit 21 23 : ,omtrain 22 24 : ,dtovsh, dpbase, dttrig -
LMDZ.3.3/branches/rel-LF/libf/phylmd/ini_histday.h
r418 r433 53 53 . "ave(X)", zsto,zout) 54 54 c 55 CALL histdef(nid_day, "tter", "Surface Temperature", "K",56 . iim,jjmp1,nhori, 1,1,1, -99, 32,57 . "ave(X)", zsto,zout)58 c59 CALL histdef(nid_day, "tlic", "Surface Temperature", "K",60 . iim,jjmp1,nhori, 1,1,1, -99, 32,61 . "ave(X)", zsto,zout)62 c63 CALL histdef(nid_day, "toce", "Surface Temperature", "K",64 . iim,jjmp1,nhori, 1,1,1, -99, 32,65 . "ave(X)", zsto,zout)66 c67 CALL histdef(nid_day, "tsic", "Surface Temperature", "K",68 . iim,jjmp1,nhori, 1,1,1, -99, 32,69 . "ave(X)", zsto,zout)70 c71 cccIM72 55 c 73 56 CALL histdef(nid_day, "t2m", "Temperature 2m", "K", … … 75 58 . "ave(X)", zsto,zout) 76 59 c 77 CALL histdef(nid_day, "t2mter", "Temp.terre 2m", "K", 78 . iim,jjmp1,nhori, 1,1,1, -99, 32, 79 . "ave(X)", zsto,zout) 80 c 81 CALL histdef(nid_day, "t2mlic", "Temp.lic 2m", "K", 82 . iim,jjmp1,nhori, 1,1,1, -99, 32, 83 . "ave(X)", zsto,zout) 84 c 85 CALL histdef(nid_day, "t2moce", "Temp.oce 2m", "K", 86 . iim,jjmp1,nhori, 1,1,1, -99, 32, 87 . "ave(X)", zsto,zout) 88 c 89 CALL histdef(nid_day, "t2msic", "Temp.sic 2m", "K", 90 . iim,jjmp1,nhori, 1,1,1, -99, 32, 91 . "ave(X)", zsto,zout) 92 c 60 CALL histdef(nid_day, "q2m", "Specific humidity", "Kg/Kg", 61 . iim,jjmp1,nhori, 1,1,1, -99, 32, 62 . "ave(X)", zsto,zout) 63 c 64 CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s", 65 . iim,jjmp1,nhori, 1,1,1, -99, 32, 66 . "ave(X)", zsto,zout) 67 c 68 CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s", 69 . iim,jjmp1,nhori, 1,1,1, -99, 32, 70 . "ave(X)", zsto,zout) 71 c 72 CALL histdef(nid_day, "psol", "Surface Pressure", "Pa", 73 . iim,jjmp1,nhori, 1,1,1, -99, 32, 74 . "ave(X)", zsto,zout) 75 c 76 CALL histdef(nid_day, "precip","Precipitation Totale liq+sol" 77 . , "kg/s", 78 . iim,jjmp1,nhori, 1,1,1, -99, 32, 79 . "ave(X)", zsto,zout) 80 c 81 CALL histdef(nid_day, "snow", "Snow fall", "kg/s", 82 . iim,jjmp1,nhori, 1,1,1, -99, 32, 83 . "ave(X)", zsto,zout) 84 c 85 CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2", 86 . iim,jjmp1,nhori, 1,1,1, -99, 32, 87 . "ave(X)", zsto,zout) 88 c 89 CALL histdef(nid_day, "evap", "Evaporation", "kg/s", 90 . iim,jjmp1,nhori, 1,1,1, -99, 32, 91 . "ave(X)", zsto,zout) 92 c 93 CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2", 94 . iim,jjmp1,nhori, 1,1,1, -99, 32, 95 . "ave(X)", zsto,zout) 96 c 97 CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2", 98 . iim,jjmp1,nhori, 1,1,1, -99, 32, 99 . "ave(X)", zsto,zout) 100 c 101 CALL histdef(nid_day, "sols", "Net Solar rad. at surf.", 102 . "W/m2", 103 . iim,jjmp1,nhori, 1,1,1, -99, 32, 104 . "ave(X)", zsto,zout) 105 c 106 CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2", 107 . iim,jjmp1,nhori, 1,1,1, -99, 32, 108 . "ave(X)", zsto,zout) 109 c 110 CALL histdef(nid_day, "solldown", "Down. IR rad. at surface", 111 . "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32, 112 . "ave(X)", zsto,zout) 113 c 114 CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2", 115 . iim,jjmp1,nhori, 1,1,1, -99, 32, 116 . "ave(X)", zsto,zout) 117 c 118 CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2", 119 . iim,jjmp1,nhori, 1,1,1, -99, 32, 120 . "ave(X)", zsto,zout) 121 c 122 CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2", 123 . iim,jjmp1,nhori, 1,1,1, -99, 32, 124 . "ave(X)", zsto,zout) 125 c 126 c CALL histdef(nid_day, "frtu", "Zonal wind stress", "Pa", 127 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 128 c . "ave(X)", zsto,zout) 129 c 130 c CALL histdef(nid_day, "frtv", "Meridional wind stress", "Pa", 131 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 132 c . "ave(X)", zsto,zout) 133 c 134 c CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-", 135 c . iim,jjmp1,nhori, 1,1,1, -99, 32, 136 c . "ave(X)", zsto,zout) 137 c 138 CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-", 139 . iim,jjmp1,nhori, 1,1,1, -99, 32, 140 . "ave(X)", zsto,zout) 141 c 142 CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-", 143 . iim,jjmp1,nhori, 1,1,1, -99, 32, 144 . "ave(X)", zsto,zout) 145 c 146 CALL histdef(nid_day, "cldh", "High-level cloudiness", "-", 147 . iim,jjmp1,nhori, 1,1,1, -99, 32, 148 . "ave(X)", zsto,zout) 149 c 150 CALL histdef(nid_day, "cldt", "Total cloudiness", "-", 151 . iim,jjmp1,nhori, 1,1,1, -99, 32, 152 . "ave(X)", zsto,zout) 153 c 154 CALL histdef(nid_day, "cldq", "Cloud liquid water path", "-", 155 . iim,jjmp1,nhori, 1,1,1, -99, 32, 156 . "ave(X)", zsto,zout) 157 c 158 CALL histdef(nid_day, "SWupTOA", "SWup at TOA","W/m2", 159 . iim,jjmp1,nhori, 1,1,1,-99, 160 . 32, "ave(X)", zsto,zout) 161 c 162 CALL histdef(nid_day, "SWupSFC", "SWup at surface","W/m2", 163 . iim,jjmp1,nhori, 1,1,1,-99, 164 . 32, "ave(X)", zsto,zout) 165 c 166 CALL histdef(nid_day, "SWdnTOA", "SWdn at TOA","W/m2", 167 . iim,jjmp1,nhori, 1,1,1,-99, 168 . 32, "ave(X)", zsto,zout) 169 c 170 CALL histdef(nid_day, "SWdnSFC", "SWdn at surface","W/m2", 171 . iim,jjmp1,nhori, 1,1,1,-99, 172 . 32, "ave(X)", zsto,zout) 173 c 174 c Champs dynamiques sur niveaux de pression 175 176 CALL histdef(nid_day, "u850", "Zonal wind 850mb", "m/s", 177 . iim,jjmp1,nhori, 1,1,1, -99, 32, 178 . "ave(X)", zsto,zout) 179 180 CALL histdef(nid_day, "v850", "Meridional wind 850mb", "m/s", 181 . iim,jjmp1,nhori, 1,1,1, -99, 32, 182 . "ave(X)", zsto,zout) 183 c 184 CALL histdef(nid_day, "u500", "Zonal wind 500mb", "m/s", 185 . iim,jjmp1,nhori, 1,1,1, -99, 32, 186 . "ave(X)", zsto,zout) 187 188 CALL histdef(nid_day, "v500", "Meridional wind 500mb", "m/s", 189 . iim,jjmp1,nhori, 1,1,1, -99, 32, 190 . "ave(X)", zsto,zout) 191 192 CALL histdef(nid_day, "u200", "Zonal wind 200mb", "m/s", 193 . iim,jjmp1,nhori, 1,1,1, -99, 32, 194 . "ave(X)", zsto,zout) 195 196 CALL histdef(nid_day, "v200", "Meridional wind 200mb", "m/s", 197 . iim,jjmp1,nhori, 1,1,1, -99, 32, 198 . "ave(X)", zsto,zout) 199 200 CALL histdef(nid_day,"phi500", "Geopotentiel à 500mb", "m2/s2", 201 . iim,jjmp1,nhori, 1,1,1, -99, 32, 202 . "ave(X)", zsto,zout) 203 204 CALL histdef(nid_day, "slp", "Sea Level Pressure", "Pa", 205 . iim,jjmp1,nhori, 1,1,1, -99, 32, 206 . "ave(X)", zsto,zout) 207 208 209 c================================================================= 210 c CI DESSOUS, SORTIES A UTILISER EN DEBUG 211 c================================================================= 212 if ( lev_histday.gt.1 ) then 213 214 c Champs retires momentannéement en attendant un hypothetique 215 c debugage 216 93 217 CALL histdef(nid_day, "t2m_min", "Temp. 2m min.", 94 218 . "K", … … 101 225 . t2maxcels, zsto,zout) 102 226 c 227 c================================================================= 228 c================================================================= 229 c================================================================= 230 c INITIALISATION DES CHAMPS SUR LES SOUS SURFACES 231 c================================================================= 232 233 CALL histdef(nid_day, "tter", "Surface Temperature", "K", 234 . iim,jjmp1,nhori, 1,1,1, -99, 32, 235 . "ave(X)", zsto,zout) 236 c 237 CALL histdef(nid_day, "tlic", "Surface Temperature", "K", 238 . iim,jjmp1,nhori, 1,1,1, -99, 32, 239 . "ave(X)", zsto,zout) 240 c 241 CALL histdef(nid_day, "toce", "Surface Temperature", "K", 242 . iim,jjmp1,nhori, 1,1,1, -99, 32, 243 . "ave(X)", zsto,zout) 244 c 245 CALL histdef(nid_day, "tsic", "Surface Temperature", "K", 246 . iim,jjmp1,nhori, 1,1,1, -99, 32, 247 . "ave(X)", zsto,zout) 248 c 249 cccIM 250 c 251 CALL histdef(nid_day, "t2mter", "Temp.terre 2m", "K", 252 . iim,jjmp1,nhori, 1,1,1, -99, 32, 253 . "ave(X)", zsto,zout) 254 c 255 CALL histdef(nid_day, "t2mlic", "Temp.lic 2m", "K", 256 . iim,jjmp1,nhori, 1,1,1, -99, 32, 257 . "ave(X)", zsto,zout) 258 c 259 CALL histdef(nid_day, "t2moce", "Temp.oce 2m", "K", 260 . iim,jjmp1,nhori, 1,1,1, -99, 32, 261 . "ave(X)", zsto,zout) 262 c 263 CALL histdef(nid_day, "t2msic", "Temp.sic 2m", "K", 264 . iim,jjmp1,nhori, 1,1,1, -99, 32, 265 . "ave(X)", zsto,zout) 266 c 103 267 CALL histdef(nid_day, "t2mter_min", "Temp.terre 2m min.", 104 268 . "K", … … 111 275 . t2maxcels, zsto,zout) 112 276 c 113 CALL histdef(nid_day, "q2m", "Specific humidity", "Kg/Kg",114 . iim,jjmp1,nhori, 1,1,1, -99, 32,115 . "ave(X)", zsto,zout)116 c117 CALL histdef(nid_day, "u10m", "Vent zonal 10m", "m/s",118 . iim,jjmp1,nhori, 1,1,1, -99, 32,119 . "ave(X)", zsto,zout)120 c121 277 CALL histdef(nid_day, "u10mter", "Vent zonal ter 10m", "m/s", 122 278 . iim,jjmp1,nhori, 1,1,1, -99, 32, … … 135 291 . "ave(X)", zsto,zout) 136 292 c 137 CALL histdef(nid_day, "v10m", "Vent meridien 10m", "m/s",138 . iim,jjmp1,nhori, 1,1,1, -99, 32,139 . "ave(X)", zsto,zout)140 c141 293 CALL histdef(nid_day, "v10mter", "Vent meridien ter 10m", 142 294 . "m/s", iim,jjmp1,nhori, 1,1,1, -99, 32, … … 155 307 . "ave(X)", zsto,zout) 156 308 c 157 CALL histdef(nid_day, "psol", "Surface Pressure", "Pa",158 . iim,jjmp1,nhori, 1,1,1, -99, 32,159 . "ave(X)", zsto,zout)160 c161 CALL histdef(nid_day, "precip","Precipitation Totale liq+sol"162 . , "kg/s",163 . iim,jjmp1,nhori, 1,1,1, -99, 32,164 . "ave(X)", zsto,zout)165 c166 CALL histdef(nid_day, "snow", "Snow fall", "kg/s",167 . iim,jjmp1,nhori, 1,1,1, -99, 32,168 . "ave(X)", zsto,zout)169 c170 CALL histdef(nid_day, "snow_mass", "Snow Mass", "kg/m2",171 . iim,jjmp1,nhori, 1,1,1, -99, 32,172 . "ave(X)", zsto,zout)173 c174 CALL histdef(nid_day, "evap", "Evaporation", "kg/s",175 . iim,jjmp1,nhori, 1,1,1, -99, 32,176 . "ave(X)", zsto,zout)177 c178 CALL histdef(nid_day, "tops", "Solar rad. at TOA", "W/m2",179 . iim,jjmp1,nhori, 1,1,1, -99, 32,180 . "ave(X)", zsto,zout)181 c182 CALL histdef(nid_day, "topl", "IR rad. at TOA", "W/m2",183 . iim,jjmp1,nhori, 1,1,1, -99, 32,184 . "ave(X)", zsto,zout)185 c186 CALL histdef(nid_day, "sols", "Net Solar rad. at surf.",187 . "W/m2",188 . iim,jjmp1,nhori, 1,1,1, -99, 32,189 . "ave(X)", zsto,zout)190 c191 CALL histdef(nid_day, "soll", "Net IR rad. at surface", "W/m2",192 . iim,jjmp1,nhori, 1,1,1, -99, 32,193 . "ave(X)", zsto,zout)194 c195 CALL histdef(nid_day, "solldown", "Down. IR rad. at surface",196 . "W/m2", iim,jjmp1,nhori, 1,1,1, -99, 32,197 . "ave(X)", zsto,zout)198 c199 CALL histdef(nid_day, "bils", "Surf. total heat flux", "W/m2",200 . iim,jjmp1,nhori, 1,1,1, -99, 32,201 . "ave(X)", zsto,zout)202 c203 CALL histdef(nid_day, "sens", "Sensible heat flux", "W/m2",204 . iim,jjmp1,nhori, 1,1,1, -99, 32,205 . "ave(X)", zsto,zout)206 c207 CALL histdef(nid_day, "fder", "Heat flux derivation", "W/m2",208 . iim,jjmp1,nhori, 1,1,1, -99, 32,209 . "ave(X)", zsto,zout)210 c211 CALL histdef(nid_day, "frtu", "Zonal wind stress", "Pa",212 . iim,jjmp1,nhori, 1,1,1, -99, 32,213 . "ave(X)", zsto,zout)214 c215 CALL histdef(nid_day, "frtv", "Meridional wind stress", "Pa",216 . iim,jjmp1,nhori, 1,1,1, -99, 32,217 . "ave(X)", zsto,zout)218 309 c 219 310 CXXX PB flux pour chaque sous surface … … 264 355 END DO 265 356 266 CALL histdef(nid_day, "sicf", "Sea-ice fraction", "-", 267 . iim,jjmp1,nhori, 1,1,1, -99, 32, 268 . "ave(X)", zsto,zout) 269 c 270 CALL histdef(nid_day, "cldl", "Low-level cloudiness", "-", 271 . iim,jjmp1,nhori, 1,1,1, -99, 32, 272 . "ave(X)", zsto,zout) 273 c 274 CALL histdef(nid_day, "cldm", "Mid-level cloudiness", "-", 275 . iim,jjmp1,nhori, 1,1,1, -99, 32, 276 . "ave(X)", zsto,zout) 277 c 278 CALL histdef(nid_day, "cldh", "High-level cloudiness", "-", 279 . iim,jjmp1,nhori, 1,1,1, -99, 32, 280 . "ave(X)", zsto,zout) 281 c 282 CALL histdef(nid_day, "cldt", "Total cloudiness", "-", 283 . iim,jjmp1,nhori, 1,1,1, -99, 32, 284 . "ave(X)", zsto,zout) 285 c 286 CALL histdef(nid_day, "cldq", "Cloud liquid water path", "-", 287 . iim,jjmp1,nhori, 1,1,1, -99, 32, 288 . "ave(X)", zsto,zout) 289 c 357 c================================================================= 358 c FIN DES CHAMPS SUR LES SOUS SURFACES 359 c================================================================= 360 c================================================================= 361 c FIN INITIALISATION DES CHAMPS 3D 362 c================================================================= 363 290 364 c Champs 3D: 291 365 c … … 337 411 CALL histend(nid_day) 338 412 c 413 c================================================================= 414 c FIN INITIALISATION DES CHAMPS 3D 415 c================================================================= 416 417 418 c================================================================= 419 c================================================================= 420 endif ! lev_histday.gt.1 421 c================================================================= 422 423 CALL histend(nid_day) 424 c 339 425 ndex2d = 0 340 426 ndex3d = 0 341 427 c 428 c================================================================= 342 429 ENDIF ! fin de test sur ok_journe -
LMDZ.3.3/branches/rel-LF/libf/phylmd/ini_histmth.h
r418 r433 167 167 $ "ave(X)", zsto,zout) 168 168 C 169 call histdef(nid_mth, "flw_"//clnsurf(nsrf), 170 $ "LW "//clnsurf(nsrf), "W/m2", 171 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 172 $ "ave(X)", zsto,zout) 173 cIM cf. JLD 174 call histdef(nid_mth, "fsw_"//clnsurf(nsrf), 175 $ "SW "//clnsurf(nsrf), "W/m2", 176 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 177 $ "ave(X)", zsto,zout) 178 C 179 call histdef(nid_mth, "wbils_"//clnsurf(nsrf), 180 $ "Bilan sol "//clnsurf(nsrf), "W/m2", 181 $ iim,jjmp1,nhori, 1,1,1, -99, 32, 182 $ "ave(X)", zsto,zout) 183 C 169 184 call histdef(nid_mth, "taux_"//clnsurf(nsrf), 170 185 $ "Zonal wind stress"//clnsurf(nsrf), "Pa", … … 301 316 c 302 317 CALL histdef(nid_mth, "rneb", "Cloud fraction", "-", 318 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 319 . "ave(X)", zsto,zout) 320 cIM cf. FH 321 CALL histdef(nid_mth, "rnebcon", "Convective Cloud Fraction" 322 . , "-", 303 323 . iim,jjmp1,nhori, klev,1,klev,nvert, 32, 304 324 . "ave(X)", zsto,zout) … … 479 499 . iim,jjmp1,nhori, 1,1,1,-99, 480 500 . 32, "ave(X)", zsto,zout) 481 c 501 cccIM clear sky 502 CALL histdef(nid_mth, "SWupTOAclr", 503 . "SWup clear sky at TOA","W/m2", 504 . iim,jjmp1,nhori, 1,1,1,-99, 505 . 32, "ave(X)", zsto,zout) 506 c 507 CALL histdef(nid_mth, "SWupSFCclr", 508 . "SWup clear sky at surface","W/m2", 509 . iim,jjmp1,nhori, 1,1,1,-99, 510 . 32, "ave(X)", zsto,zout) 511 c 512 CALL histdef(nid_mth, "SWdnTOAclr", 513 . "SWdn clear sky at TOA","W/m2", 514 . iim,jjmp1,nhori, 1,1,1,-99, 515 . 32, "ave(X)", zsto,zout) 516 517 c Champs interpolles sur des niveaux de pression 518 519 CALL histdef(nid_mth, "u850", "Zonal wind 850mb", "m/s", 520 . iim,jjmp1,nhori, 1,1,1, -99, 32, 521 . "ave(X)", zsto,zout) 522 523 CALL histdef(nid_mth, "v850", "Meridional wind 850mb", "m/s", 524 . iim,jjmp1,nhori, 1,1,1, -99, 32, 525 . "ave(X)", zsto,zout) 526 c 527 CALL histdef(nid_mth, "u500", "Zonal wind 500mb", "m/s", 528 . iim,jjmp1,nhori, 1,1,1, -99, 32, 529 . "ave(X)", zsto,zout) 530 531 CALL histdef(nid_mth, "v500", "Meridional wind 500mb", "m/s", 532 . iim,jjmp1,nhori, 1,1,1, -99, 32, 533 . "ave(X)", zsto,zout) 534 535 CALL histdef(nid_mth, "u200", "Zonal wind 200mb", "m/s", 536 . iim,jjmp1,nhori, 1,1,1, -99, 32, 537 . "ave(X)", zsto,zout) 538 539 CALL histdef(nid_mth, "v200", "Meridional wind 200mb", "m/s", 540 . iim,jjmp1,nhori, 1,1,1, -99, 32, 541 . "ave(X)", zsto,zout) 542 543 CALL histdef(nid_mth, "phi500","Geopotentiel à 500mb","m2/s2", 544 . iim,jjmp1,nhori, 1,1,1, -99, 32, 545 . "ave(X)", zsto,zout) 546 547 CALL histdef(nid_mth, "w500", "Vertical wind 500mb", "Pa/s", 548 . iim,jjmp1,nhori, 1,1,1, -99, 32, 549 . "ave(X)", zsto,zout) 550 551 552 c 553 CALL histdef(nid_mth, "SWdnSFCclr", 554 . "SWdn clear sky at surface","W/m2", 555 . iim,jjmp1,nhori, 1,1,1,-99, 556 . 32, "ave(X)", zsto,zout) 482 557 ENDIF 483 558 c34EK -
LMDZ.3.3/branches/rel-LF/libf/phylmd/phyetat0.F
r373 r433 2 2 c $Header$ 3 3 c 4 SUBROUTINE phyetat0 (fichnom,dtime,co2_ppm ,solaire,4 SUBROUTINE phyetat0 (fichnom,dtime,co2_ppm_etat0,solaire_etat0, 5 5 . rlat,rlon, pctsrf, tsol,tsoil,deltat,qsol,snow, 6 6 . albe, evap, rain_fall, snow_fall, solsw, sollw, … … 25 25 INTEGER radpas 26 26 REAL rlat(klon), rlon(klon) 27 REAL co2_ppm 28 REAL solaire 27 REAL co2_ppm_etat0 28 REAL solaire_etat0 29 29 REAL tsol(klon,nbsrf) 30 30 REAL tsoil(klon,nsoilmx,nbsrf) … … 145 145 dtime = tab_cntrl(1) 146 146 radpas = tab_cntrl(2) 147 co2_ppm = tab_cntrl(3)148 solaire = tab_cntrl(4)147 co2_ppm_etat0 = tab_cntrl(3) 148 solaire_etat0 = tab_cntrl(4) 149 149 iflag_con = tab_cntrl(5) 150 150 nbapp_rad = tab_cntrl(6) -
LMDZ.3.3/branches/rel-LF/libf/phylmd/phyredem.F
r373 r433 1 1 c $Header$ 2 2 c 3 SUBROUTINE phyredem (fichnom,dtime,radpas, co2_ppm,solaire,3 SUBROUTINE phyredem (fichnom,dtime,radpas, 4 4 . rlat,rlon, pctsrf,tsol,tsoil,deltat,qsol,snow, 5 5 . albedo, evap, rain_fall, snow_fall, … … 26 26 INTEGER radpas 27 27 REAL rlat(klon), rlon(klon) 28 REAL co2_ppm29 REAL solaire30 28 REAL tsol(klon,nbsrf) 31 29 REAL tsoil(klon,nsoilmx,nbsrf) -
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r422 r433 123 123 save ok_journe 124 124 c PARAMETER (ok_journe=.true.) 125 126 integer lev_histday 127 save lev_histday 128 data lev_histday/1/ 125 129 c 126 130 LOGICAL ok_mensuel ! sortir le fichier mensuel … … 199 203 cccIM cf. FH 200 204 real u850(klon),v850(klon),u200(klon),v200(klon) 201 real u500(klon),v500(klon),phi500(klon) 205 real u500(klon),v500(klon),phi500(klon),w500(klon) 202 206 203 207 logical ok_hf … … 248 252 SAVE itap ! compteur pour la physique 249 253 c 250 REAL co2_ppm 251 SAVE co2_ppm ! concentration du CO2 252 c 253 REAL solaire 254 SAVE solaire ! constante solaire255 c 254 REAL co2_ppm_etat0 255 c 256 REAL solaire_etat0 257 c 258 real slp(klon) ! sea level pressure 259 256 260 REAL ftsol(klon,nbsrf) 257 261 SAVE ftsol ! temperature du sol … … 384 388 REAL dlw(klon) ! derivee infra rouge 385 389 REAL bils(klon) ! bilan de chaleur au sol 390 cIM cf. JLD 391 REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque 392 C type de sous-surface et pondere par la fraction 386 393 REAL fder(klon) ! Derive de flux (sensible et latente) 387 394 save fder … … 481 488 REAL topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon) 482 489 REAL albpla(klon) 490 cIM cf. JLD 491 REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface 492 REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface 483 493 c Le rayonnement n'est pas calcule tous les pas, il faut donc 484 494 c sauvegarder les sorties du rayonnement … … 529 539 REAL cape(klon) ! CAPE 530 540 SAVE cape 541 cccIM 542 CHARACTER*40 capemaxcels 543 531 544 REAL pbase(klon) ! cloud base pressure 532 545 SAVE pbase … … 726 739 . ok_instan, fact_cldcon, facttemps,ok_newmicro, 727 740 . iflag_cldcon,ratqsbas,ratqshaut, if_ebil) 741 cIM . , RI0) 728 742 729 743 DO k = 2, nvm ! pas de vegetation … … 745 759 itaprad = 0 746 760 c 747 CALL phyetat0 ("startphy.nc",dtime,co2_ppm ,solaire,761 CALL phyetat0 ("startphy.nc",dtime,co2_ppm_etat0,solaire_etat0, 748 762 . rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow, 749 763 . falbe, fevap, rain_fall,snow_fall,solsw, sollwdown, … … 799 813 ema_workcbmf(i) = 0. 800 814 ENDDO 815 816 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>BEG 817 DO i = 1, klon 818 ibas_con(i) = 1 819 itop_con(i) = klev+1 820 ENDDO 821 cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>END 822 801 823 ENDIF 824 802 825 c34EK 803 826 IF (ok_orodr) THEN … … 856 879 c 857 880 cccIM 881 capemaxcels = 't_max(X)' 858 882 t2mincels = 't_min(X)' 859 883 t2maxcels = 't_max(X)' … … 1076 1100 ENDIF 1077 1101 1102 DO nsrf = 1, nbsrf 1103 DO i = 1, klon 1104 fsollw(i,nsrf) = sollwdown(i) - RSIGMA*ftsol(i,nsrf)**4 1105 fsolsw(i,nsrf) = solsw(i)*(1.-falbe(i,nsrf))/(1.-albsol(i)) 1106 ENDDO 1107 ENDDO 1108 1078 1109 fder = dlw 1079 1110 … … 1085 1116 $ paprs,pplay,radsol, fsnow,fqsol,fevap,falbe,falblw, 1086 1117 $ fluxlat, 1087 e rain_fall, snow_fall, solsw, sollw, sollwdown, fder, 1118 cIM cf. JLD e rain_fall, snow_fall, solsw, sollw, sollwdown, fder, 1119 e rain_fall, snow_fall, fsolsw, fsollw, sollwdown, fder, 1088 1120 e rlon, rlat, cufi, cvfi, frugs, 1089 1121 e debut, lafin, agesno,rugoro , … … 1166 1198 c IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN 1167 1199 ftsol(i,nsrf) = ftsol(i,nsrf) + d_ts(i,nsrf) 1200 cIM cf. JLD 1201 wfbils(i,nsrf) = ( fsolsw(i,nsrf) + fsollw(i,nsrf) 1202 $ + fluxt(i,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf) 1168 1203 zxtsol(i) = zxtsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf) 1169 1204 zxfluxlat(i) = zxfluxlat(i) + fluxlat(i,nsrf)*pctsrf(i,nsrf) … … 1271 1306 . Ma,cape,tvp,iflagctrl, 1272 1307 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd) 1308 cIM cf. FH 1309 clwcon0=qcondc 1273 1310 1274 1311 ELSE ! ok_cvl 1275 1276 if (iflag_con.eq.4) then ! vectorise1277 CALL conemav (dtime,paprs,pplay,t_seri,q_seri,1278 . u_seri,v_seri,tr_seri,nbtr,1279 . ema_work1,ema_work2,1280 . d_t_con,d_q_con,d_u_con,d_v_con,d_tr,1281 . rain_con, snow_con, ibas_con, itop_con,1282 . upwd,dnwd,dnwd0,1283 c . Ma,cape,tvp,(/(nint(rflag(i)),i=1,size(rflag))/),1284 . Ma,cape,tvp,iflagctrl,1285 . pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr)1286 1287 qcondc=0.01288 1289 else1290 1312 1291 1313 c print*,'Avant conema OUI' … … 1303 1325 print*,'Apres conema3 ' 1304 1326 1327 ENDIF ! ok_cvl 1328 1305 1329 IF (.NOT. ok_gust) THEN 1306 1330 do i = 1, klon … … 1309 1333 ENDIF 1310 1334 1311 c Calculer l'humidite relative pour diagnostique 1335 c =================================================================== c 1336 c Calcul des proprietes des nuages convectifs 1312 1337 c 1313 1338 DO k = 1, klev … … 1336 1361 s (klon,klev,q_seri,zqsat,clwcon0,ptconv,ratqsc,rnebcon0) 1337 1362 1338 endif 1339 1340 ENDIF ! ok_cvl 1363 c =================================================================== c 1341 1364 1342 1365 DO i = 1, klon … … 1668 1691 ! albsollw = albsollw1 1669 1692 CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS) 1670 e (dist, rmu0, fract, co2_ppm, solaire, 1693 cIM e (dist, rmu0, fract, co2_ppm, solaire, 1694 e (dist, rmu0, fract, 1671 1695 e paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri, 1672 1696 e wo, … … 1681 1705 ENDIF 1682 1706 itaprad = itaprad + 1 1707 1683 1708 c 1684 1709 c Ajouter la tendance des rayonnements (tous les pas) … … 1923 1948 call plevel(klon,klev,.false.,pplay,20000.,v_seri,v200) 1924 1949 call plevel(klon,klev,.true. ,pplay,50000.,zphi,phi500) 1950 call plevel(klon,klev,.true. ,paprs,50000.,omega,w500) 1951 1952 slp(:) = paprs(:,1)*exp(pphis(:)/(289.*t_seri(:,1))) 1953 c 1954 1925 1955 1926 1956 c============================================================= -
LMDZ.3.3/branches/rel-LF/libf/phylmd/radlwsw.F
r412 r433 1 SUBROUTINE radlwsw(dist, rmu0, fract, co2_ppm, solaire, 1 cIM SUBROUTINE radlwsw(dist, rmu0, fract, co2_ppm, solaire, 2 SUBROUTINE radlwsw(dist, rmu0, fract, 2 3 . paprs, pplay,tsol,albedo, alblw, t,q,wo, 3 4 . cldfra, cldemi, cldtau, … … 43 44 c 44 45 real rmu0(klon), fract(klon), dist 45 real co2_ppm 46 real solaire 46 cIM real co2_ppm 47 cIM real solaire 48 #include "clesphys.h" 47 49 c 48 50 real paprs(klon,klev+1), pplay(klon,klev) … … 69 71 EXTERNAL lw, sw 70 72 c 71 73 cIM ctes ds clesphys.h REAL*8 RCO2, RCH4, RN2O, RCFC11, RCFC12 72 74 REAL*8 PSCT 73 75 c … … 119 121 zdist = dist 120 122 c 121 RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97 122 RCH4 = 1.72E-06* 16.043/28.97 123 RN2O = 310.E-09* 44.013/28.97 124 RCFC11 = 280.E-12* 137.3686/28.97 125 RCFC12 = 484.E-12* 120.9140/28.97 123 cIM anciennes valeurs 124 c RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97 125 c 126 cIM : on met RCO2, RCH4, RN2O, RCFC11 et RCFC12 dans clesphys.h /lecture ds conf_phys.F90 127 c RCH4 = 1.65E-06* 16.043/28.97 128 c RN2O = 306.E-09* 44.013/28.97 129 c RCFC11 = 280.E-12* 137.3686/28.97 130 c RCFC12 = 484.E-12* 120.9140/28.97 131 cIM anciennes valeurs 132 c RCH4 = 1.72E-06* 16.043/28.97 133 c RN2O = 310.E-09* 44.013/28.97 134 c 135 c PRINT*,'IMradlwsw : solaire, co2= ', solaire, co2_ppm 126 136 PSCT = solaire/zdist/zdist 127 137 c … … 138 148 ! PALBP(i,2) = albedo(iof+i) 139 149 PALBP(i,2) = alblw(iof+i) 140 PEMIS(i) = 0.96 150 cIM cf. JLD pour etre en accord avec ORCHIDEE il faut mettre PEMIS(i) = 0.96 151 PEMIS(i) = 1.0 141 152 PVIEW(i) = 1.66 142 153 PPSOL(i) = paprs(iof+i,1) … … 191 202 c 192 203 c====================================================================== 193 CALL LW(RCO2,RCH4,RN2O,RCFC11,RCFC12, 204 cIM ctes ds clesphys.h CALL LW(RCO2,RCH4,RN2O,RCFC11,RCFC12, 205 CALL LW( 194 206 . PPMB, PDP, 195 207 . PPSOL,PDT0,PEMIS, … … 200 212 . ztoplw,zsollw,ztoplw0,zsollw0, 201 213 . zsollwdown) 202 CALL SW(PSCT, RCO2, zrmu0, zfract, 214 cIM ctes ds clesphys.h CALL SW(PSCT, RCO2, zrmu0, zfract, 215 CALL SW(PSCT, zrmu0, zfract, 203 216 S PPMB, PDP, 204 217 S PPSOL, PALBD, PALBP, … … 243 256 RETURN 244 257 END 245 SUBROUTINE SW(PSCT, RCO2, PRMU0, PFRAC, 258 cIM ctes ds clesphys.h SUBROUTINE SW(PSCT, RCO2, PRMU0, PFRAC, 259 SUBROUTINE SW(PSCT, PRMU0, PFRAC, 246 260 S PPMB, PDP, 247 261 S PPSOL, PALBD, PALBP, … … 292 306 C 293 307 REAL*8 PSCT ! constante solaire (valeur conseillee: 1370) 294 REAL*8 RCO2 ! concentration CO2 (IPCC: 353.E-06*44.011/28.97) 308 cIM ctes ds clesphys.h REAL*8 RCO2 ! concentration CO2 (IPCC: 353.E-06*44.011/28.97) 309 #include "clesphys.h" 295 310 C 296 311 REAL*8 PPSOL(KDLON) ! SURFACE PRESSURE (PA) … … 373 388 C 374 389 c clear-sky: 375 CALL SWU(PSCT,RCO2,ZCLDSW0,PPMB,PPSOL, 390 cIM ctes ds clesphys.h CALL SWU(PSCT,RCO2,ZCLDSW0,PPMB,PPSOL, 391 CALL SWU(PSCT,ZCLDSW0,PPMB,PPSOL, 376 392 S PRMU0,PFRAC,PTAVE,PWV, 377 393 S ZAKI,ZCLD,ZCLEAR,ZDSIG,ZFACT,ZRMU,ZSEC,ZUD) … … 394 410 ENDDO 395 411 c cloudy-sky: 396 CALL SWU(PSCT,RCO2,PCLDSW,PPMB,PPSOL, 412 cIM ctes ds clesphys.h CALL SWU(PSCT,RCO2,PCLDSW,PPMB,PPSOL, 413 CALL SWU(PSCT,PCLDSW,PPMB,PPSOL, 397 414 S PRMU0,PFRAC,PTAVE,PWV, 398 415 S ZAKI,ZCLD,ZCLEAR,ZDSIG,ZFACT,ZRMU,ZSEC,ZUD) … … 443 460 END 444 461 c 445 SUBROUTINE SWU (PSCT,RCO2,PCLDSW,PPMB,PPSOL,PRMU0,PFRAC, 462 cIM ctes ds clesphys.h SUBROUTINE SWU (PSCT,RCO2,PCLDSW,PPMB,PPSOL,PRMU0,PFRAC, 463 SUBROUTINE SWU (PSCT,PCLDSW,PPMB,PPSOL,PRMU0,PFRAC, 446 464 S PTAVE,PWV,PAKI,PCLD,PCLEAR,PDSIG,PFACT, 447 465 S PRMU,PSEC,PUD) … … 457 475 C 458 476 REAL*8 PSCT 459 REAL*8 RCO2 477 cIM ctes ds clesphys.h REAL*8 RCO2 478 #include "clesphys.h" 460 479 REAL*8 PCLDSW(KDLON,KFLEV) 461 480 REAL*8 PPMB(KDLON,KFLEV+1) … … 2471 2490 RETURN 2472 2491 END 2473 SUBROUTINE LW(RCO2,RCH4,RN2O,RCFC11,RCFC12, 2492 cIM ctes ds clesphys.h SUBROUTINE LW(RCO2,RCH4,RN2O,RCFC11,RCFC12, 2493 SUBROUTINE LW( 2474 2494 . PPMB, PDP, 2475 2495 . PPSOL,PDT0,PEMIS, … … 2516 2536 C ORIGINAL : 89-07-14 2517 2537 C----------------------------------------------------------------------- 2518 REAL*8 RCO2 ! CO2 CONCENTRATION (IPCC:353.E-06* 44.011/28.97) 2519 REAL*8 RCH4 ! CH4 CONCENTRATION (IPCC: 1.72E-06* 16.043/28.97) 2520 REAL*8 RN2O ! N2O CONCENTRATION (IPCC: 310.E-09* 44.013/28.97) 2521 REAL*8 RCFC11 ! CFC11 CONCENTRATION (IPCC: 280.E-12* 137.3686/28.97) 2522 REAL*8 RCFC12 ! CFC12 CONCENTRATION (IPCC: 484.E-12* 120.9140/28.97) 2538 cIM ctes ds clesphys.h 2539 c REAL*8 RCO2 ! CO2 CONCENTRATION (IPCC:353.E-06* 44.011/28.97) 2540 c REAL*8 RCH4 ! CH4 CONCENTRATION (IPCC: 1.72E-06* 16.043/28.97) 2541 c REAL*8 RN2O ! N2O CONCENTRATION (IPCC: 310.E-09* 44.013/28.97) 2542 c REAL*8 RCFC11 ! CFC11 CONCENTRATION (IPCC: 280.E-12* 137.3686/28.97) 2543 c REAL*8 RCFC12 ! CFC12 CONCENTRATION (IPCC: 484.E-12* 120.9140/28.97) 2544 #include "clesphys.h" 2523 2545 REAL*8 PCLDLD(KDLON,KFLEV) ! DOWNWARD EFFECTIVE CLOUD COVER 2524 2546 REAL*8 PCLDLU(KDLON,KFLEV) ! UPWARD EFFECTIVE CLOUD COVER … … 2582 2604 ENDDO 2583 2605 ENDDO 2584 CALL LWU(RCO2,RCH4, RN2O, RCFC11, RCFC12, 2606 cIM ctes ds clesphys.h CALL LWU(RCO2,RCH4, RN2O, RCFC11, RCFC12, 2607 CALL LWU( 2585 2608 S PAER,PDP,PPMB,PPSOL,ZOZ,PTAVE,PVIEW,PWV,ZABCU) 2586 2609 CALL LWBV(ILIM,PDP,PDT0,PEMIS,PPMB,PTL,PTAVE,ZABCU, … … 2620 2643 RETURN 2621 2644 END 2622 SUBROUTINE LWU(RCO2, RCH4, RN2O, RCFC11, RCFC12, 2645 cIM ctes ds clesphys.h SUBROUTINE LWU(RCO2, RCH4, RN2O, RCFC11, RCFC12, 2646 SUBROUTINE LWU( 2623 2647 S PAER,PDP,PPMB,PPSOL,POZ,PTAVE,PVIEW,PWV, 2624 2648 S PABCU) … … 2660 2684 C----------------------------------------------------------------------- 2661 2685 C* ARGUMENTS: 2662 REAL*8 RCO2 2663 REAL*8 RCH4, RN2O, RCFC11, RCFC12 2686 cIM ctes ds clesphys.h 2687 c REAL*8 RCO2 2688 c REAL*8 RCH4, RN2O, RCFC11, RCFC12 2689 #include "clesphys.h" 2664 2690 REAL*8 PAER(KDLON,KFLEV,5) 2665 2691 REAL*8 PDP(KDLON,KFLEV) -
LMDZ.3.3/branches/rel-LF/libf/phylmd/stdlevvar.F90
r419 r433 160 160 conv_te(i) = (te_zref(i) - te_zref_p(i))/te_zref_p(i) 161 161 conv_q(i) = (q_zref(i) - q_zref_p(i))/q_zref_p(i) 162 163 164 165 162 ! IF(abs(conv_te(i)).GE.0.0025.AND.abs(conv_q(i)).GE.0.05) THEN 163 ! PRINT*,'DIV','i=',i,te_zref_p(i),te_zref(i),conv_te(i), & 164 ! q_zref_p(i),q_zref(i),conv_q(i) 165 ! ENDIF 166 166 ENDDO 167 167 ! -
LMDZ.3.3/branches/rel-LF/libf/phylmd/suphec.F
r393 r433 3 3 #include "YOMCST.h" 4 4 #include "YOETHF.h" 5 cIM cf. JLD 6 LOGICAL firstcall 7 SAVE firstcall 8 DATA firstcall /.TRUE./ 9 IF (firstcall) THEN 10 PRINT*, 'suphec initialise les constantes du GCM' 11 firstcall = .FALSE. 12 ELSE 13 PRINT*, 'suphec DEJA APPELE ' 14 RETURN 15 ENDIF 5 16 C ----------------------------------------------------------------- 6 17 C … … 45 56 c ref R_peri = 102.04 46 57 c ref R_incl = 23.5 47 R_ecc = 0.016724 48 R_peri = 102.04 49 R_incl = 23.5 58 c 59 cIM 161002 : pour avoir les ctes AMIP II 60 cIM 161002 R_ecc = 0.016724 61 cIM 161002 R_peri = 102.04 62 cIM 161002 R_incl = 23.5 63 cIM on mets R_ecc, R_peri, R_incl dans conf_phys.F90 64 c R_ecc = 0.016715 65 c R_peri = 102.7 66 c R_incl = 23.441 50 67 c 51 68 WRITE(UNIT=6,FMT='('' *** Astronomical constants ***'')') … … 57 74 WRITE(UNIT=6,FMT='('' omega = '',E13.7,'' s-1'')') 58 75 S ROMEGA 59 60 61 76 c write(unit=6,fmt='('' excentricite = '',e13.7,''-'')')R_ecc 77 c write(unit=6,fmt='('' equinoxe = '',e13.7,''-'')')R_peri 78 c write(unit=6,fmt='('' inclinaison = '',e13.7,''-'')')R_incl 62 79 C 63 80 C ------------------------------------------------------------------ … … 82 99 c z.x.li RSIGMA=2. * RPI**5 * RKBOL**4 /(15.* RCLUM**2 * RHPLA**3) 83 100 rsigma = 2.*rpi**5 * (rkbol/rhpla)**3 * rkbol/rclum/rclum/15. 84 RI0=1370.101 cIM init. dans conf_phys.F90 RI0=1365. 85 102 WRITE(UNIT=6,FMT='('' *** Radiation ***'')') 86 103 WRITE(UNIT=6,FMT='('' Stefan-Bol. = '',E13.7,'' W m-2 K-4'' 87 104 S )') RSIGMA 88 89 105 cIM init. dans conf_phys.F90 WRITE(UNIT=6,FMT='('' Solar const. = '',E13.7,'' W m-2'')') 106 cIM init. dans conf_phys.F90 S RI0 90 107 C 91 108 C ----------------------------------------------------------------- -
LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histday.h
r418 r433 34 34 c 35 35 C 36 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter) 37 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d) 38 CALL histwrite(nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 39 c call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter), 40 c . 'Surface Temperature','K') 41 C 42 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic) 43 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 44 CALL histwrite(nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 45 c call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic), 46 c . 'Surface Temperature','K') 47 C 48 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce) 49 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 50 CALL histwrite(nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 51 c call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce), 52 c . 'Surface Temperature','K') 53 C 54 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic) 55 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 56 CALL histwrite(nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 57 c call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic), 58 c . 'Surface Temperature','K') 59 C 60 cccIM 36 C 61 37 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 62 38 CALL histwrite(nid_day,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 63 39 c 64 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)65 CALL histwrite(nid_day,"t2m_min",itau_w,zx_tmp_2d,66 . iim*jjmp1,ndex2d)67 c68 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)69 CALL histwrite(nid_day,"t2m_max",itau_w,zx_tmp_2d,70 . iim*jjmp1,ndex2d)71 c72 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)73 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)74 CALL histwrite(nid_day,"t2mter",itau_w,zx_tmp_2d,iim*jjmp1,75 . ndex2d)76 c77 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)78 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)79 CALL histwrite(nid_day,"t2mter_min",itau_w,zx_tmp_2d,80 . iim*jjmp1,ndex2d)81 c82 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)83 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)84 CALL histwrite(nid_day,"t2mter_max",itau_w,zx_tmp_2d,85 . iim*jjmp1,ndex2d)86 c87 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_lic)88 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)89 CALL histwrite(nid_day,"t2mlic",itau_w,zx_tmp_2d,iim*jjmp1,90 . ndex2d)91 c92 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_oce)93 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)94 CALL histwrite(nid_day,"t2moce",itau_w,zx_tmp_2d,iim*jjmp1,95 . ndex2d)96 c97 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_sic)98 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)99 CALL histwrite(nid_day,"t2msic",itau_w,zx_tmp_2d,iim*jjmp1,100 . ndex2d)101 c102 40 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zq2m,zx_tmp_2d) 103 41 CALL histwrite(nid_day,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) … … 111 49 . ndex2d) 112 50 c 113 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_ter)114 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)115 CALL histwrite(nid_day,"u10mter",itau_w,zx_tmp_2d,iim*jjmp1,116 . ndex2d)117 c118 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_ter)119 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)120 CALL histwrite(nid_day,"v10mter",itau_w,zx_tmp_2d,iim*jjmp1,121 . ndex2d)122 c123 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_lic)124 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)125 CALL histwrite(nid_day,"u10mlic",itau_w,zx_tmp_2d,iim*jjmp1,126 . ndex2d)127 c128 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_lic)129 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)130 CALL histwrite(nid_day,"v10mlic",itau_w,zx_tmp_2d,iim*jjmp1,131 . ndex2d)132 c133 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_oce)134 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)135 CALL histwrite(nid_day,"u10moce",itau_w,zx_tmp_2d,iim*jjmp1,136 . ndex2d)137 c138 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_oce)139 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)140 CALL histwrite(nid_day,"v10moce",itau_w,zx_tmp_2d,iim*jjmp1,141 . ndex2d)142 c143 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_sic)144 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)145 CALL histwrite(nid_day,"u10msic",itau_w,zx_tmp_2d,iim*jjmp1,146 . ndex2d)147 C148 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_sic)149 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)150 CALL histwrite(nid_day,"v10msic",itau_w,zx_tmp_2d,iim*jjmp1,151 . ndex2d)152 C153 51 DO i = 1, klon 154 52 zx_tmp_fi2d(i) = paprs(i,1) … … 231 129 c 232 130 c 131 cXXX DO i = 1, klon 132 cXXX zx_tmp_fi2d(i) = pctsrf(i,is_sic) 133 cXXX ENDDO 134 cXXX CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 135 cXXX CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 136 c 137 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 138 CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 139 c call writephy(fid_day,prof2d_av,'cldl',cldl, 140 c . 'Low-level cloudiness','-') 141 c 142 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 143 CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 144 c call writephy(fid_day,prof2d_av,'cldm',cldm, 145 c . 'Mid-level cloudiness','-') 146 c 147 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 148 CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 149 c call writephy(fid_day,prof2d_av,'cldh',cldh, 150 c . 'High-level cloudiness','-') 151 c 152 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 153 CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 154 c call writephy(fid_day,prof2d_av,'cldt',cldt, 155 c . 'Total cloudiness','-') 156 c 157 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 158 CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 159 c call writephy(fid_day,prof2d_av,'cldq',cldq, 160 c . 'Cloud liquid water path','-') 161 c 162 zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1) 163 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 164 CALL histwrite(nid_day, "SWupTOA",itau_w,zx_tmp_2d, 165 . iim*jjmp1,ndex2d) 166 c 167 zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1) 168 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 169 CALL histwrite(nid_day, "SWupSFC",itau_w,zx_tmp_2d, 170 . iim*jjmp1,ndex2d) 171 c 172 zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1) 173 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 174 CALL histwrite(nid_day, "SWdnTOA",itau_w,zx_tmp_2d, 175 . iim*jjmp1,ndex2d) 176 c 177 zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1) 178 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 179 CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d, 180 . iim*jjmp1,ndex2d) 181 182 183 c Ecriture de champs dynamiques sur des niveaux de pression 184 185 CALL gr_fi_ecrit(1, klon,iim,jjmp1, u850,zx_tmp_2d) 186 CALL histwrite(nid_day,"u850",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 187 188 CALL gr_fi_ecrit(1, klon,iim,jjmp1, v850,zx_tmp_2d) 189 CALL histwrite(nid_day,"v850",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 190 191 CALL gr_fi_ecrit(1, klon,iim,jjmp1, u500,zx_tmp_2d) 192 CALL histwrite(nid_day,"u500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 193 194 CALL gr_fi_ecrit(1, klon,iim,jjmp1, v500,zx_tmp_2d) 195 CALL histwrite(nid_day,"v500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 196 197 CALL gr_fi_ecrit(1, klon,iim,jjmp1, u200,zx_tmp_2d) 198 CALL histwrite(nid_day,"u200",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 199 200 CALL gr_fi_ecrit(1, klon,iim,jjmp1, v200,zx_tmp_2d) 201 CALL histwrite(nid_day,"v200",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 202 203 CALL gr_fi_ecrit(1, klon,iim,jjmp1, phi500,zx_tmp_2d) 204 CALL histwrite(nid_day,"phi500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 205 206 CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d) 207 CALL histwrite(nid_day,"slp",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 208 209 210 c 211 c================================================================= 212 c CI DESSOUS, SORTIES A UTILISER EN DEBUG 213 c================================================================= 214 if ( lev_histday.gt.1 ) then 215 216 c En attendant un eventuel debugage. 217 218 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 219 CALL histwrite(nid_day,"t2m_min",itau_w,zx_tmp_2d, 220 . iim*jjmp1,ndex2d) 221 c 222 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) 223 CALL histwrite(nid_day,"t2m_max",itau_w,zx_tmp_2d, 224 . iim*jjmp1,ndex2d) 225 c 226 c================================================================= 227 c================================================================= 228 c================================================================= 229 c ECRITURE DES CHAMPS SUR LES SOUS SURFACES 230 c================================================================= 231 232 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter) 233 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d) 234 CALL histwrite(nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 235 c call writephy(fid_day,prof2d_av,'tter',ftsol(1 : klon, is_ter), 236 c . 'Surface Temperature','K') 237 C 238 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic) 239 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 240 CALL histwrite(nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 241 c call writephy(fid_day,prof2d_av,'tlic',ftsol(1 : klon, is_lic), 242 c . 'Surface Temperature','K') 243 C 244 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce) 245 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 246 CALL histwrite(nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 247 c call writephy(fid_day,prof2d_av,'toce',ftsol(1 : klon, is_oce), 248 c . 'Surface Temperature','K') 249 C 250 zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic) 251 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 252 CALL histwrite(nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 253 c call writephy(fid_day,prof2d_av,'tsic',ftsol(1 : klon, is_sic), 254 c . 'Surface Temperature','K') 255 C 256 cccIM 257 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 258 CALL histwrite(nid_day,"t2mter",itau_w,zx_tmp_2d,iim*jjmp1, 259 . ndex2d) 260 c 261 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter) 262 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 263 CALL histwrite(nid_day,"t2mter_min",itau_w,zx_tmp_2d, 264 . iim*jjmp1,ndex2d) 265 c 266 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter) 267 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 268 CALL histwrite(nid_day,"t2mter_max",itau_w,zx_tmp_2d, 269 . iim*jjmp1,ndex2d) 270 c 271 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_lic) 272 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 273 CALL histwrite(nid_day,"t2mlic",itau_w,zx_tmp_2d,iim*jjmp1, 274 . ndex2d) 275 c 276 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_oce) 277 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 278 CALL histwrite(nid_day,"t2moce",itau_w,zx_tmp_2d,iim*jjmp1, 279 . ndex2d) 280 c 281 zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_sic) 282 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 283 CALL histwrite(nid_day,"t2msic",itau_w,zx_tmp_2d,iim*jjmp1, 284 . ndex2d) 285 c 286 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_ter) 287 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 288 CALL histwrite(nid_day,"u10mter",itau_w,zx_tmp_2d,iim*jjmp1, 289 . ndex2d) 290 c 291 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_ter) 292 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 293 CALL histwrite(nid_day,"v10mter",itau_w,zx_tmp_2d,iim*jjmp1, 294 . ndex2d) 295 c 296 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_lic) 297 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 298 CALL histwrite(nid_day,"u10mlic",itau_w,zx_tmp_2d,iim*jjmp1, 299 . ndex2d) 300 c 301 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_lic) 302 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 303 CALL histwrite(nid_day,"v10mlic",itau_w,zx_tmp_2d,iim*jjmp1, 304 . ndex2d) 305 c 306 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_oce) 307 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 308 CALL histwrite(nid_day,"u10moce",itau_w,zx_tmp_2d,iim*jjmp1, 309 . ndex2d) 310 c 311 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_oce) 312 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 313 CALL histwrite(nid_day,"v10moce",itau_w,zx_tmp_2d,iim*jjmp1, 314 . ndex2d) 315 c 316 zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_sic) 317 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 318 CALL histwrite(nid_day,"u10msic",itau_w,zx_tmp_2d,iim*jjmp1, 319 . ndex2d) 320 C 321 zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_sic) 322 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) 323 CALL histwrite(nid_day,"v10msic",itau_w,zx_tmp_2d,iim*jjmp1, 324 . ndex2d) 325 C 233 326 DO nsrf = 1, nbsrf 234 327 CXXX … … 301 394 C 302 395 END DO 303 C 304 cXXX DO i = 1, klon 305 cXXX zx_tmp_fi2d(i) = pctsrf(i,is_sic) 306 cXXX ENDDO 307 cXXX CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) 308 cXXX CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 309 c 310 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) 311 CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 312 c call writephy(fid_day,prof2d_av,'cldl',cldl, 313 c . 'Low-level cloudiness','-') 314 c 315 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) 316 CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 317 c call writephy(fid_day,prof2d_av,'cldm',cldm, 318 c . 'Mid-level cloudiness','-') 319 c 320 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) 321 CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 322 c call writephy(fid_day,prof2d_av,'cldh',cldh, 323 c . 'High-level cloudiness','-') 324 c 325 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) 326 CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 327 c call writephy(fid_day,prof2d_av,'cldt',cldt, 328 c . 'Total cloudiness','-') 329 c 330 CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) 331 CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) 332 c call writephy(fid_day,prof2d_av,'cldq',cldq, 333 c . 'Cloud liquid water path','-') 396 c================================================================= 397 c FIN ECRITURE DES CHAMPS SUR LES SOUS SURFACES 398 c================================================================= 399 400 c================================================================= 401 c ECRITURE DES CHAMPS 3D 402 c================================================================= 403 334 404 c 335 405 c Champs 3D: … … 380 450 c . 'Air pressure','Pa') 381 451 cccIM 382 zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1) 383 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 384 CALL histwrite(nid_day, "SWupTOA",itau_w,zx_tmp_2d, 385 . iim*jjmp1,ndex2d) 386 c 387 zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1) 388 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 389 CALL histwrite(nid_day, "SWupSFC",itau_w,zx_tmp_2d, 390 . iim*jjmp1,ndex2d) 391 c 392 zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1) 393 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 394 CALL histwrite(nid_day, "SWdnTOA",itau_w,zx_tmp_2d, 395 . iim*jjmp1,ndex2d) 396 c 397 zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1) 398 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 399 CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d, 400 . iim*jjmp1,ndex2d) 401 c 452 453 c================================================================= 454 c FIN ECRITURE DES CHAMPS 3D 455 c================================================================= 456 457 c================================================================= 458 c================================================================= 459 endif ! lev_histday.gt.1 460 c================================================================= 461 462 402 463 if (ok_sync) then 403 464 c call writephy_sync(fid_day) 404 465 call histsync(nid_day) 405 466 endif 467 406 468 ENDIF -
LMDZ.3.3/branches/rel-LF/libf/phylmd/write_histmth.h
r418 r433 142 142 CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w, 143 143 $ zx_tmp_2d,iim*jjmp1,ndex2d) 144 C 145 zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf) 146 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 147 CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w, 148 $ zx_tmp_2d,iim*jjmp1,ndex2d) 149 cIM cf. JLD 150 zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf) 151 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 152 CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w, 153 $ zx_tmp_2d,iim*jjmp1,ndex2d) 154 C 155 zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf) 156 CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 157 CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w, 158 $ zx_tmp_2d,iim*jjmp1,ndex2d) 144 159 C 145 160 zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) … … 263 278 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d) 264 279 CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d, 280 . iim*jjmp1*klev,ndex3d) 281 c 282 CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d) 283 CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d, 265 284 . iim*jjmp1*klev,ndex3d) 266 285 c … … 441 460 . iim*jjmp1,ndex2d) 442 461 c 462 cccIM clear sky 463 zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, klevp1) 464 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 465 CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d, 466 . iim*jjmp1,ndex2d) 467 c 468 zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1) 469 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 470 CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d, 471 . iim*jjmp1,ndex2d) 472 c 473 zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1) 474 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 475 CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d, 476 . iim*jjmp1,ndex2d) 477 c 478 zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1) 479 CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) 480 CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d, 481 . iim*jjmp1,ndex2d) 482 c 483 c Champs interpolles sur des niveaux de pression 484 485 CALL gr_fi_ecrit(1, klon,iim,jjmp1, u850,zx_tmp_2d) 486 CALL histwrite(nid_mth,"u850",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 487 488 CALL gr_fi_ecrit(1, klon,iim,jjmp1, v850,zx_tmp_2d) 489 CALL histwrite(nid_mth,"v850",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 490 491 CALL gr_fi_ecrit(1, klon,iim,jjmp1, u500,zx_tmp_2d) 492 CALL histwrite(nid_mth,"u500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 493 494 CALL gr_fi_ecrit(1, klon,iim,jjmp1, v500,zx_tmp_2d) 495 CALL histwrite(nid_mth,"v500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 496 497 CALL gr_fi_ecrit(1, klon,iim,jjmp1, u200,zx_tmp_2d) 498 CALL histwrite(nid_mth,"u200",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 499 500 CALL gr_fi_ecrit(1, klon,iim,jjmp1, v200,zx_tmp_2d) 501 CALL histwrite(nid_mth,"v200",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 502 503 CALL gr_fi_ecrit(1, klon,iim,jjmp1, phi500,zx_tmp_2d) 504 CALL histwrite(nid_mth,"phi500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 505 506 CALL gr_fi_ecrit(1, klon,iim,jjmp1, w500,zx_tmp_2d) 507 CALL histwrite(nid_mth,"w500",itap,zx_tmp_2d,iim*jjmp1,ndex2d) 508 509 443 510 444 ENDIF511 ENDIF 445 512 446 513 if (ok_sync) then
Note: See TracChangeset
for help on using the changeset viewer.