Changeset 4737
- Timestamp:
- Oct 24, 2023, 12:13:53 PM (14 months ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90
r4735 r4737 184 184 debut, lafin, & 185 185 rlon, rlat, rugoro, rmu0, & 186 lwdown_m, cldt, &186 lwdown_m, cldt, & 187 187 rain_f, snow_f, bs_f, solsw_m, solswfdiff_m, sollw_m, & 188 188 gustiness, & 189 t, q, qbs, u, v, 189 t, q, qbs, u, v, & 190 190 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 191 191 !! t_x, q_x, t_w, q_w, & … … 199 199 beta, & 200 200 !>jyg 201 alb_dir_m, alb_dif_m, zxsens, zxevap, zxsnowerosion, &201 alb_dir_m, alb_dif_m, zxsens, zxevap, zxsnowerosion, & 202 202 alb3_lic, runoff, snowhgt, qsnow, to_ice, sissnow, & 203 zxtsol, zxfluxlat, zt2m, qsat2m, zn2mout, &204 d_t, d_q, d_qbs, d_u, d_v, d_t_diss, &203 zxtsol, zxfluxlat, zt2m, qsat2m, zn2mout, & 204 d_t, d_q, d_qbs, d_u, d_v, d_t_diss, & 205 205 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 206 d_t_w, d_q_w, 207 d_t_x, d_q_x, 206 d_t_w, d_q_w, & 207 d_t_x, d_q_x, & 208 208 !! d_wake_dlt,d_wake_dlq, & 209 zxsens_x, zxfluxlat_x,zxsens_w,zxfluxlat_w, 209 zxsens_x, zxfluxlat_x,zxsens_w,zxfluxlat_w, & 210 210 !!! 211 211 !!! nrlmd le 13/06/2011 212 delta_tsurf,wake_dens,cdragh_x,cdragh_w, 213 cdragm_x,cdragm_w,kh,kh_x,kh_w, 214 !!! 215 zcoefh, zcoefm, slab_wfbils, 216 qsol, zq2m, s_pblh, s_plcl, &212 delta_tsurf,wake_dens,cdragh_x,cdragh_w, & 213 cdragm_x,cdragm_w,kh,kh_x,kh_w, & 214 !!! 215 zcoefh, zcoefm, slab_wfbils, & 216 qsol, zq2m, s_pblh, s_plcl, & 217 217 !!! 218 218 !!! jyg le 08/02/2012 219 s_pblh_x, s_plcl_x, s_pblh_w, s_plcl_w, 220 !!! 221 s_capCL, s_oliqCL, s_cteiCL, s_pblT, 222 s_therm, s_trmb1, s_trmb2, s_trmb3, 223 zustar,zu10m, zv10m, fder_print, &224 zxqsurf, delta_qsurf, &225 rh2m, zxfluxu, zxfluxv, &219 s_pblh_x, s_plcl_x, s_pblh_w, s_plcl_w, & 220 !!! 221 s_capCL, s_oliqCL, s_cteiCL, s_pblT, & 222 s_therm, s_trmb1, s_trmb2, s_trmb3, & 223 zustar,zu10m, zv10m, fder_print, & 224 zxqsurf, delta_qsurf, & 225 rh2m, zxfluxu, zxfluxv, & 226 226 z0m, z0h, agesno, sollw, solsw, & 227 227 d_ts, evap, fluxlat, t2m, & 228 wfbils, wf bilo, wfevap, wfrain, wfsnow,&229 flux_t, flux_u, flux_v, &230 dflux_t, dflux_q, zxsnow, 228 wfbils, wfevap, & 229 flux_t, flux_u, flux_v, & 230 dflux_t, dflux_q, zxsnow, & 231 231 !jyg< 232 232 !! zxfluxt, zxfluxq, q2m, flux_q, tke, & … … 235 235 !!! nrlmd+jyg le 02/05/2011 et le 20/02/2012 236 236 !! tke_x, tke_w & 237 wake_dltke, 238 treedrg &237 wake_dltke, & 238 treedrg & 239 239 !FC 240 240 !!! … … 503 503 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: t2m ! temperature at 2 meter height 504 504 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfbils ! heat balance at surface 505 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfbilo ! water balance at surface weighted by srf506 505 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfevap ! water balance (evap) at surface weighted by srf 507 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfrain ! water balance (rain) at surface weighted by srf508 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfsnow ! water balance (snow) at surface weighted by srf509 506 REAL, DIMENSION(klon, klev, nbsrf), INTENT(OUT) :: flux_t ! sensible heat flux (CpT) J/m**2/s (W/m**2) 510 507 ! positve orientation downwards … … 1027 1024 snowerosion(:,:)=0. 1028 1025 fluxlat(:,:)=0. 1029 wfbils(:,:)=0. ; wfbilo(:,:)=0. 1030 wfevap(:,:)=0. ; wfrain(:,:)=0. ; wfsnow(:,:)=0. 1026 wfbils(:,:)=0. ; wfevap(:,:)=0. ; 1031 1027 flux_t(:,:,:)=0. ; flux_q(:,:,:)=0. ; flux_u(:,:,:)=0. ; flux_v(:,:,:)=0. 1032 1028 flux_qbs(:,:,:)=0. … … 3458 3454 wfbils(i,nsrf) = ( solsw(i,nsrf) + sollw(i,nsrf) & 3459 3455 + flux_t(i,1,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf) 3460 wfbilo(i,nsrf) = (evap(i,nsrf)-(rain_f(i)+snow_f(i)))*pctsrf(i,nsrf) 3456 3461 3457 wfevap(i,nsrf) = evap(i,nsrf)*pctsrf(i,nsrf) 3462 wfrain(i,nsrf) = rain_f(i)*pctsrf(i,nsrf)3463 wfsnow(i,nsrf) = snow_f(i)*pctsrf(i,nsrf)3464 3458 3465 3459 zxtsol(i) = zxtsol(i) + ts(i,nsrf) * pctsrf(i,nsrf) -
LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
r4703 r4737 313 313 !$OMP THREADPRIVATE(cdragm, cdragh) 314 314 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cldh, cldl, cldm, cldq, cldt, qsat2m 315 !$OMP THREADPRIVATE(cldh, cldl, cldm, cldq, cldt, qsat2m 315 !$OMP THREADPRIVATE(cldh, cldl, cldm, cldq, cldt, qsat2m) 316 316 !AS: cldhjn, cldljn, cldmjn,cldtjn pas utilisés en tant que variables, juste noms de diagnostics 317 317 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: JrNt … … 406 406 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig 407 407 !$OMP THREADPRIVATE(proba_notrig, random_notrig) 408 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils , wfbilo409 !$OMP THREADPRIVATE(fsolsw, wfbils , wfbilo)410 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wfevap , wfrain, wfsnow411 !$OMP THREADPRIVATE(wfevap ,wfrain,wfsnow)408 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils 409 !$OMP THREADPRIVATE(fsolsw, wfbils) 410 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wfevap 411 !$OMP THREADPRIVATE(wfevap) 412 412 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t2m, fluxlat, fsollw,evap_pot 413 413 !$OMP THREADPRIVATE(t2m, fluxlat, fsollw,evap_pot) … … 862 862 ALLOCATE(t2m(klon, nbsrf), fluxlat(klon, nbsrf)) 863 863 ALLOCATE(fsollw(klon, nbsrf)) 864 ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf) , wfbilo(klon, nbsrf))865 ALLOCATE(wfevap(klon, nbsrf) , wfrain(klon,nbsrf), wfsnow(klon, nbsrf))864 ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf)) 865 ALLOCATE(wfevap(klon, nbsrf)) 866 866 ALLOCATE(evap_pot(klon, nbsrf)) 867 867 ! FC … … 871 871 ALLOCATE(pmflxr(klon, klev+1), pmflxs(klon, klev+1)) 872 872 ALLOCATE(wdtrainA(klon,klev),wdtrainS(klon,klev),wdtrainM(klon,klev)) 873 ALLOCATE(dnwd(klon, klev), upwd(klon, klev) 873 ALLOCATE(dnwd(klon, klev), upwd(klon, klev)) 874 874 ALLOCATE(ep(klon,klev)) ! epmax_cape 875 ALLOCATE(da(klon,klev), mp(klon,klev) 876 ALLOCATE(phi(klon,klev,klev) 877 ALLOCATE(wght_cvfd(klon,klev) 878 ALLOCATE(phi2(klon,klev,klev) 875 ALLOCATE(da(klon,klev), mp(klon,klev)) 876 ALLOCATE(phi(klon,klev,klev)) 877 ALLOCATE(wght_cvfd(klon,klev)) 878 ALLOCATE(phi2(klon,klev,klev)) 879 879 ALLOCATE(d1a(klon,klev), dam(klon,klev)) 880 ALLOCATE(ev(klon,klev) 881 ALLOCATE(elij(klon,klev,klev) 882 ALLOCATE(qtaa(klon,klev) 883 ALLOCATE(clw(klon,klev) 884 ALLOCATE(epmlmMm(klon,klev,klev), eplaMm(klon,klev) 885 ALLOCATE(sij(klon,klev,klev) 880 ALLOCATE(ev(klon,klev)) 881 ALLOCATE(elij(klon,klev,klev)) 882 ALLOCATE(qtaa(klon,klev)) 883 ALLOCATE(clw(klon,klev)) 884 ALLOCATE(epmlmMm(klon,klev,klev), eplaMm(klon,klev)) 885 ALLOCATE(sij(klon,klev,klev)) 886 886 887 887 ALLOCATE(prfl(klon, klev+1)) … … 1184 1184 DEALLOCATE(t2m, fluxlat) 1185 1185 DEALLOCATE(fsollw, evap_pot) 1186 DEALLOCATE(fsolsw, wfbils , wfbilo)1187 DEALLOCATE(wfevap ,wfrain,wfsnow)1186 DEALLOCATE(fsolsw, wfbils) 1187 DEALLOCATE(wfevap) 1188 1188 1189 1189 DEALLOCATE(pmflxr, pmflxs) … … 1191 1191 DEALLOCATE(upwd, dnwd) 1192 1192 DEALLOCATE(ep) 1193 DEALLOCATE(da, mp 1194 DEALLOCATE(phi 1195 DEALLOCATE(wght_cvfd 1196 DEALLOCATE(phi2 1193 DEALLOCATE(da, mp) 1194 DEALLOCATE(phi) 1195 DEALLOCATE(wght_cvfd) 1196 DEALLOCATE(phi2) 1197 1197 DEALLOCATE(d1a, dam) 1198 DEALLOCATE(ev 1199 DEALLOCATE(elij 1200 DEALLOCATE(qtaa 1201 DEALLOCATE(clw 1202 DEALLOCATE(epmlmMm, eplaMm 1203 DEALLOCATE(sij 1198 DEALLOCATE(ev) 1199 DEALLOCATE(elij) 1200 DEALLOCATE(qtaa) 1201 DEALLOCATE(clw) 1202 DEALLOCATE(epmlmMm, eplaMm) 1203 DEALLOCATE(sij) 1204 1204 1205 1205 -
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r4703 r4737 282 282 wTSTD, u2STD, v2STD, T2STD, missing_val_nf90, delta_sal, ds_ns, & 283 283 #ifdef ISO 284 xtrain_con, xtsnow_con, xtrain_fall, xtsnow_fall, fxtevap, &284 xtrain_con, xtsnow_con, xtrain_fall, xtsnow_fall, fxtevap, & 285 285 #endif 286 286 dt_ns, delta_sst, dter, dser … … 292 292 toplw0_s2,toplw_s2,topsw0_s2,topsw_s2 293 293 #endif 294 295 294 296 295 USE phys_local_var_mod, ONLY: zxfluxlat, slp, ptstar, pt0, zxtsol, zt2m, & … … 304 303 sissnow, runoff, albsol3_lic, evap_pot, & 305 304 t2m, fluxt, fluxlat, fsollw, fsolsw, & 306 wfbils, wf bilo, wfevap, wfrain, wfsnow, &305 wfbils, wfevap, & 307 306 cdragm, cdragh, cldl, cldm, & 308 307 cldh, cldt, JrNt, & ! only output names: cldljn,cldmjn,cldhjn,cldtjn … … 380 379 reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra 381 380 382 383 381 #ifdef CPP_StratAer 384 382 USE phys_local_var_mod, ONLY: & … … 444 442 #endif 445 443 USE tracinca_mod, ONLY: config_inca 446 use config_ocean_skin_m, only: activate_ocean_skin444 USE config_ocean_skin_m, ONLY: activate_ocean_skin 447 445 448 446 USE vertical_layers_mod, ONLY: presnivs … … 503 501 REAL, DIMENSION(klon,klev) :: coefh_stok 504 502 505 506 503 #ifdef CPP_StratAer 507 504 LOGICAL, PARAMETER :: debug_strataer=.FALSE. … … 541 538 Bhyb_bounds(1,1) = 1. 542 539 Bhyb_bounds(1,2) = bps(1) 540 543 541 DO ilev=2,klev 544 542 Ahyb_bounds(ilev,1) = aps(ilev-1) … … 547 545 Bhyb_bounds(ilev,2) = bps(ilev) 548 546 ENDDO 549 Ahyb_bounds(klev+1,1) = aps(klev) 550 Ahyb_bounds(klev+1,2) = 0. 551 Bhyb_bounds(klev+1,1) = bps(klev) 552 Bhyb_bounds(klev+1,2) = 0. 547 548 Ahyb_bounds(klev+1,1) = aps(klev) 549 Ahyb_bounds(klev+1,2) = 0. 550 Bhyb_bounds(klev+1,1) = bps(klev) 551 Bhyb_bounds(klev+1,2) = 0. 553 552 554 553 DO ilev=1, klev … … 557 556 Bhyb_mid_bounds(ilev,1) = bp(ilev) 558 557 Bhyb_mid_bounds(ilev,2) = bp(ilev+1) 559 END 558 ENDDO 560 559 561 560 … … 616 615 ! 617 616 #ifdef CPP_RRTM 618 IF (iflag_rrtm.EQ.1) THEN619 DO ISW=1, NSW620 WRITE(ch1,'(i1)') ISW621 ! zx_tmp_0d=RSUN(ISW)622 ! CALL histwrite_phy("rsun"//ch1,zx_tmp_0d)623 CALL histwrite_phy("rsun"//ch1,RSUN(ISW))624 ENDDO625 ENDIF617 IF (iflag_rrtm.EQ.1) THEN 618 DO ISW=1, NSW 619 WRITE(ch1,'(i1)') ISW 620 ! zx_tmp_0d=RSUN(ISW) 621 ! CALL histwrite_phy("rsun"//ch1,zx_tmp_0d) 622 CALL histwrite_phy("rsun"//ch1,RSUN(ISW)) 623 ENDDO 624 ENDIF 626 625 #endif 627 626 ! 628 CALL histwrite_phy("co2_ppm",co2_ppm)629 CALL histwrite_phy("CH4_ppb",CH4_ppb)630 CALL histwrite_phy("N2O_ppb",N2O_ppb)631 CALL histwrite_phy("CFC11_ppt",CFC11_ppt)632 CALL histwrite_phy("CFC12_ppt",CFC12_ppt)627 CALL histwrite_phy("co2_ppm",co2_ppm) 628 CALL histwrite_phy("CH4_ppb",CH4_ppb) 629 CALL histwrite_phy("N2O_ppb",N2O_ppb) 630 CALL histwrite_phy("CFC11_ppt",CFC11_ppt) 631 CALL histwrite_phy("CFC12_ppt",CFC12_ppt) 633 632 ! 634 ENDIF !using_xios633 ENDIF !using_xios 635 634 636 635 !!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 637 636 ! Simulateur AIRS 638 IF (ok_airs) then639 CALL histwrite_phy(o_alt_tropo,alt_tropo)637 IF (ok_airs) then 638 CALL histwrite_phy(o_alt_tropo,alt_tropo) 640 639 641 CALL histwrite_phy(o_map_prop_hc,map_prop_hc)642 CALL histwrite_phy(o_map_prop_hist,map_prop_hist)643 644 CALL histwrite_phy(o_map_emis_hc,map_emis_hc)645 CALL histwrite_phy(o_map_iwp_hc,map_iwp_hc)646 CALL histwrite_phy(o_map_deltaz_hc,map_deltaz_hc)647 CALL histwrite_phy(o_map_pcld_hc,map_pcld_hc)648 CALL histwrite_phy(o_map_tcld_hc,map_tcld_hc)649 650 CALL histwrite_phy(o_map_emis_hist,map_emis_hist)651 CALL histwrite_phy(o_map_iwp_hist,map_iwp_hist)652 CALL histwrite_phy(o_map_deltaz_hist,map_deltaz_hist)653 654 CALL histwrite_phy(o_map_ntot,map_ntot)655 CALL histwrite_phy(o_map_hc,map_hc)656 CALL histwrite_phy(o_map_hist,map_hist)657 658 CALL histwrite_phy(o_map_Cb,map_Cb)659 CALL histwrite_phy(o_map_ThCi,map_ThCi)660 CALL histwrite_phy(o_map_Anv,map_Anv)661 662 CALL histwrite_phy(o_map_emis_Cb,map_emis_Cb)663 CALL histwrite_phy(o_map_pcld_Cb,map_pcld_Cb)664 CALL histwrite_phy(o_map_tcld_Cb,map_tcld_Cb)665 666 CALL histwrite_phy(o_map_emis_ThCi,map_emis_ThCi)667 CALL histwrite_phy(o_map_pcld_ThCi,map_pcld_ThCi)668 CALL histwrite_phy(o_map_tcld_ThCi,map_tcld_ThCi)669 670 CALL histwrite_phy(o_map_emis_Anv,map_emis_Anv)671 CALL histwrite_phy(o_map_pcld_Anv,map_pcld_Anv)672 CALL histwrite_phy(o_map_tcld_Anv,map_tcld_Anv)673 ENDIF640 CALL histwrite_phy(o_map_prop_hc,map_prop_hc) 641 CALL histwrite_phy(o_map_prop_hist,map_prop_hist) 642 643 CALL histwrite_phy(o_map_emis_hc,map_emis_hc) 644 CALL histwrite_phy(o_map_iwp_hc,map_iwp_hc) 645 CALL histwrite_phy(o_map_deltaz_hc,map_deltaz_hc) 646 CALL histwrite_phy(o_map_pcld_hc,map_pcld_hc) 647 CALL histwrite_phy(o_map_tcld_hc,map_tcld_hc) 648 649 CALL histwrite_phy(o_map_emis_hist,map_emis_hist) 650 CALL histwrite_phy(o_map_iwp_hist,map_iwp_hist) 651 CALL histwrite_phy(o_map_deltaz_hist,map_deltaz_hist) 652 653 CALL histwrite_phy(o_map_ntot,map_ntot) 654 CALL histwrite_phy(o_map_hc,map_hc) 655 CALL histwrite_phy(o_map_hist,map_hist) 656 657 CALL histwrite_phy(o_map_Cb,map_Cb) 658 CALL histwrite_phy(o_map_ThCi,map_ThCi) 659 CALL histwrite_phy(o_map_Anv,map_Anv) 660 661 CALL histwrite_phy(o_map_emis_Cb,map_emis_Cb) 662 CALL histwrite_phy(o_map_pcld_Cb,map_pcld_Cb) 663 CALL histwrite_phy(o_map_tcld_Cb,map_tcld_Cb) 664 665 CALL histwrite_phy(o_map_emis_ThCi,map_emis_ThCi) 666 CALL histwrite_phy(o_map_pcld_ThCi,map_pcld_ThCi) 667 CALL histwrite_phy(o_map_tcld_ThCi,map_tcld_ThCi) 668 669 CALL histwrite_phy(o_map_emis_Anv,map_emis_Anv) 670 CALL histwrite_phy(o_map_pcld_Anv,map_pcld_Anv) 671 CALL histwrite_phy(o_map_tcld_Anv,map_tcld_Anv) 672 ENDIF 674 673 675 674 CALL histwrite_phy(o_sza, sza_o) … … 687 686 IF (vars_defined) THEN 688 687 DO i=1, klon 689 zx_tmp_fi2d(i)= real(zn2mout(i,1))688 zx_tmp_fi2d(i)=REAL(zn2mout(i,1)) 690 689 ENDDO 691 690 ENDIF … … 694 693 IF (vars_defined) THEN 695 694 DO i=1, klon 696 zx_tmp_fi2d(i)= real(zn2mout(i,2))695 zx_tmp_fi2d(i)=REAL(zn2mout(i,2)) 697 696 ENDDO 698 697 ENDIF … … 701 700 IF (vars_defined) THEN 702 701 DO i=1, klon 703 zx_tmp_fi2d(i)= real(zn2mout(i,3))702 zx_tmp_fi2d(i)=REAL(zn2mout(i,3)) 704 703 ENDDO 705 704 ENDIF … … 708 707 IF (vars_defined) THEN 709 708 DO i=1, klon 710 zx_tmp_fi2d(i)= real(zn2mout(i,4))709 zx_tmp_fi2d(i)=REAL(zn2mout(i,4)) 711 710 ENDDO 712 711 ENDIF … … 715 714 IF (vars_defined) THEN 716 715 DO i=1, klon 717 zx_tmp_fi2d(i)= real(zn2mout(i,5))716 zx_tmp_fi2d(i)=REAL(zn2mout(i,5)) 718 717 ENDDO 719 718 ENDIF … … 722 721 IF (vars_defined) THEN 723 722 DO i=1, klon 724 zx_tmp_fi2d(i)= real(zn2mout(i,6))723 zx_tmp_fi2d(i)=REAL(zn2mout(i,6)) 725 724 ENDDO 726 725 ENDIF … … 920 919 ELSE 921 920 WRITE(nvar,'(i3)') k 922 END 921 ENDIF 923 922 nvar='phi_lev'//trim(nvar) 924 923 CALL histwrite_phy(nvar,phi(:,:,k)) 925 END 924 ENDDO 926 925 927 926 ENDIF 928 927 ENDIF 929 930 931 932 928 933 929 IF (vars_defined) THEN … … 994 990 CALL histwrite_phy(o_sols, zx_tmp_fi2d) 995 991 996 997 992 IF (vars_defined) THEN 998 993 zx_tmp_fi2d = solsw0*swradcorr … … 1068 1063 !AI 08 2023 Ecrad 3Deffect 1069 1064 #ifdef CPP_ECRAD 1070 if (ok_3Deffect) then1065 IF (ok_3Deffect) THEN 1071 1066 IF (vars_defined) THEN 1072 1067 zx_tmp_fi2d = solsw_s2*swradcorr … … 1091 1086 CALL histwrite_phy(o_topl_s2, toplw_s2) 1092 1087 CALL histwrite_phy(o_topl0_s2, toplw0_s2) 1093 endif1088 ENDIF 1094 1089 #endif 1095 1090 … … 1134 1129 DO nsrf = 1, nbsrf 1135 1130 1136 IF (vars_defined) 1131 IF (vars_defined) zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100. 1137 1132 CALL histwrite_phy(o_pourc_srf(nsrf), zx_tmp_fi2d) 1138 IF (vars_defined) 1133 IF (vars_defined) zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) 1139 1134 CALL histwrite_phy(o_fract_srf(nsrf), zx_tmp_fi2d) 1140 IF (vars_defined) 1135 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) 1141 1136 CALL histwrite_phy(o_taux_srf(nsrf), zx_tmp_fi2d) 1142 IF (vars_defined) 1137 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) 1143 1138 CALL histwrite_phy(o_tauy_srf(nsrf), zx_tmp_fi2d) 1144 IF (vars_defined) 1139 IF (vars_defined) zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) 1145 1140 CALL histwrite_phy(o_tsol_srf(nsrf), zx_tmp_fi2d) 1146 IF (vars_defined) 1141 IF (vars_defined) zx_tmp_fi2d(1 : klon) = evap_pot( 1 : klon, nsrf) 1147 1142 CALL histwrite_phy(o_evappot_srf(nsrf), zx_tmp_fi2d) 1148 1143 IF (vars_defined) zx_tmp_fi2d(1 : klon) = ustar(1 : klon, nsrf) … … 1156 1151 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fevap(1 : klon, nsrf) 1157 1152 CALL histwrite_phy(o_evap_srf(nsrf), zx_tmp_fi2d) 1158 IF (vars_defined) 1153 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) 1159 1154 CALL histwrite_phy(o_sens_srf(nsrf), zx_tmp_fi2d) 1160 IF (vars_defined) 1155 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) 1161 1156 CALL histwrite_phy(o_lat_srf(nsrf), zx_tmp_fi2d) 1162 IF (vars_defined) 1157 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf) 1163 1158 CALL histwrite_phy(o_flw_srf(nsrf), zx_tmp_fi2d) 1164 IF (vars_defined) 1159 IF (vars_defined) zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf) 1165 1160 CALL histwrite_phy(o_fsw_srf(nsrf), zx_tmp_fi2d) 1166 IF (vars_defined) 1161 IF (vars_defined) zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf) 1167 1162 CALL histwrite_phy(o_wbils_srf(nsrf), zx_tmp_fi2d) 1168 IF (vars_defined) zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon,nsrf)1163 IF (vars_defined) zx_tmp_fi2d(1 : klon) = (fevap(1:klon,nsrf)-(rain_fall(1:klon)+snow_fall(1:klon)))*pctsrf(1:klon,nsrf) 1169 1164 CALL histwrite_phy(o_wbilo_srf(nsrf), zx_tmp_fi2d) 1170 IF (vars_defined) 1165 IF (vars_defined) zx_tmp_fi2d(1 : klon) = wfevap( 1 : klon, nsrf) 1171 1166 CALL histwrite_phy(o_wevap_srf(nsrf), zx_tmp_fi2d) 1172 IF (vars_defined) zx_tmp_fi2d(1 : klon) = wfrain( 1 : klon,nsrf)1167 IF (vars_defined) zx_tmp_fi2d(1 : klon) = rain_fall(1:klon)*pctsrf(1:klon,nsrf) 1173 1168 CALL histwrite_phy(o_wrain_srf(nsrf), zx_tmp_fi2d) 1174 IF (vars_defined) zx_tmp_fi2d(1 : klon) = wfsnow( 1 : klon,nsrf)1169 IF (vars_defined) zx_tmp_fi2d(1 : klon) = snow_fall(1:klon)*pctsrf(1:klon,nsrf) 1175 1170 CALL histwrite_phy(o_wsnow_srf(nsrf), zx_tmp_fi2d) 1176 1171 … … 1180 1175 CALL histwrite_phy(o_l_mixmin(nsrf), l_mixmin(:,1:klev,nsrf)) 1181 1176 CALL histwrite_phy(o_tke_max_srf(nsrf), pbl_tke(:,1:klev,nsrf)) 1182 1183 1184 1177 ENDIF 1185 1178 !jyg< … … 1624 1617 DO naero = 1, naero_tot-1 1625 1618 CALL histwrite_phy(o_drytausumaero(naero),drytausum_aero(:,naero)) 1626 END 1619 ENDDO 1627 1620 ENDIF 1628 1621 ENDIF … … 1631 1624 DO naero = 1, naero_tot 1632 1625 CALL histwrite_phy(o_tausumaero(naero),tausum_aero(:,2,naero)) 1633 END 1626 ENDDO 1634 1627 ENDIF 1635 1628 IF (flag_aerosol_strat.GT.0) THEN … … 1646 1639 DO k=1, klev 1647 1640 zx_tmp_fi2d(:) = zx_tmp_fi2d(:) + wo(:,k,1) * stratomask(:,k) * 1.e3 1648 END 1641 ENDDO 1649 1642 ENDIF 1650 1643 CALL histwrite_phy(o_col_O3_strato, zx_tmp_fi2d) ! Added ThL … … 1654 1647 DO k=1, klev 1655 1648 zx_tmp_fi2d(:) = zx_tmp_fi2d(:) + wo(:,k,1) * (1.0-stratomask(:,k)) * 1.e3 1656 END 1649 ENDDO 1657 1650 ENDIF 1658 1651 CALL histwrite_phy(o_col_O3_tropo, zx_tmp_fi2d) ! Added ThL … … 1987 1980 CALL histwrite_phy(o_tke, zx_tmp_fi3d) 1988 1981 CALL histwrite_phy(o_tke_max, zx_tmp_fi3d) 1989 1990 1982 ENDIF 1991 1983 … … 1995 1987 1996 1988 CALL histwrite_phy(o_clwcon, clwcon0) 1989 1997 1990 CALL histwrite_phy(o_dtdyn, d_t_dyn) 1998 1991 … … 2010 2003 2011 2004 IF (ok_bs) THEN 2012 CALL histwrite_phy(o_dqbsdyn, d_qbs_dyn)2013 CALL histwrite_phy(o_dqbsdyn2d, d_qbs_dyn2d)2005 CALL histwrite_phy(o_dqbsdyn, d_qbs_dyn) 2006 CALL histwrite_phy(o_dqbsdyn2d, d_qbs_dyn2d) 2014 2007 ENDIF 2015 2008 … … 2058 2051 IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys 2059 2052 CALL histwrite_phy(o_dtlsc, zx_tmp_fi3d) 2060 IF (vars_defined) zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+ & 2061 d_t_eva(1:klon,1:klev))/pdtphys 2053 IF (vars_defined) zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+d_t_eva(1:klon,1:klev))/pdtphys 2062 2054 CALL histwrite_phy(o_dtlschr, zx_tmp_fi3d) 2063 2055 IF (vars_defined) zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys … … 2186 2178 CALL histwrite_phy(o_zmax_th, zmax_th) 2187 2179 IF (vars_defined) THEN 2188 zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys - & 2189 d_q_ajsb(1:klon,1:klev)/pdtphys 2180 zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys-d_q_ajsb(1:klon,1:klev)/pdtphys 2190 2181 ENDIF 2191 2182 CALL histwrite_phy(o_dqthe, zx_tmp_fi3d) … … 2280 2271 2281 2272 CALL histwrite_phy(o_rsu, zx_tmp_fi3d1) 2282 2283 2273 2284 2274 IF (vars_defined) THEN … … 2712 2702 IF (vars_defined) zx_tmp_fi3d(:,:)=d_xt_ch4(ixt,:,:)/pdtphys 2713 2703 CALL histwrite_phy(o_dxtch4(ixt), zx_tmp_fi3d) 2714 END 2704 ENDIF 2715 2705 2716 2706 IF (ixt == iso_HTO) THEN … … 2723 2713 IF (vars_defined) zx_tmp_fi3d(:,:)=d_xt_decroiss(ixt,:,:)/pdtphys 2724 2714 CALL histwrite_phy(o_dxtdecroiss(ixt), zx_tmp_fi3d) 2725 END 2715 ENDIF 2726 2716 2727 2717 !write(*,*) 'phys_output_write_mod 2531' 2728 enddo2718 ENDDO 2729 2719 #endif 2730 2720 … … 2759 2749 CALL histsync(nid_files(iff)) 2760 2750 ENDIF 2761 END 2751 ENDDO 2762 2752 !$OMP END MASTER 2763 2753 #endif -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r4724 r4737 341 341 t2m, fluxlat, & 342 342 fsollw, evap_pot, & 343 fsolsw, wfbils, wfbilo, & 344 wfevap, wfrain, wfsnow, & 343 fsolsw, wfbils, wfevap, & 345 344 prfl, psfl,bsfl, fraca, Vprecip, & 346 345 zw2, & … … 2758 2757 ! frugs, agesno, fsollw, fsolsw, 2759 2758 ! d_ts, fevap, fluxlat, t2m, 2760 ! wfbils, wfbilo,fluxt, fluxu, fluxv,2759 ! wfbils, fluxt, fluxu, fluxv, 2761 2760 ! 2762 2761 ! Certains ne sont pas utiliser du tout : … … 2875 2874 z0m, z0h, agesno, fsollw, fsolsw, & 2876 2875 d_ts, fevap, fluxlat, t2m, & 2877 wfbils, wf bilo, wfevap, wfrain, wfsnow, &2876 wfbils, wfevap, & 2878 2877 fluxt, fluxu, fluxv, & 2879 2878 dsens, devap, zxsnow, & -
LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90
r4736 r4737 303 303 z0m, z0h, agesno, sollw, solsw, & 304 304 d_ts, evap, fluxlat, t2m, & 305 wfbils, wf bilo, wfevap, wfrain, wfsnow,&305 wfbils, wfevap, & 306 306 flux_t, flux_u, flux_v, & 307 307 dflux_t, dflux_q, zxsnow, & … … 609 609 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: t2m ! temperature at 2 meter height 610 610 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfbils ! heat balance at surface 611 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfbilo ! water balance at surface weighted by srf612 611 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfevap ! water balance (evap) at surface weighted by srf 613 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfrain ! water balance (rain) at surface weighted by srf614 REAL, DIMENSION(klon, nbsrf), INTENT(OUT) :: wfsnow ! water balance (snow) at surface weighted by srf615 612 REAL, DIMENSION(klon, klev, nbsrf), INTENT(OUT) :: flux_t ! sensible heat flux (CpT) J/m**2/s (W/m**2) 616 613 ! positve orientation downwards … … 1233 1230 snowerosion(:,:)=0. 1234 1231 fluxlat(:,:)=0. 1235 wfbils(:,:)=0. ; wfbilo(:,:)=0. 1236 wfevap(:,:)=0. ; wfrain(:,:)=0. ; wfsnow(:,:)=0. 1232 wfbils(:,:)=0. ; wfevap(:,:)=0. 1237 1233 flux_t(:,:,:)=0. ; flux_q(:,:,:)=0. ; flux_u(:,:,:)=0. ; flux_v(:,:,:)=0. 1238 1234 flux_qbs(:,:,:)=0. … … 4031 4027 wfbils(i,nsrf) = ( solsw(i,nsrf) + sollw(i,nsrf) & 4032 4028 + flux_t(i,1,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf) 4033 wfbilo(i,nsrf) = (evap(i,nsrf)-(rain_f(i)+snow_f(i)))*pctsrf(i,nsrf)4034 4029 wfevap(i,nsrf) = evap(i,nsrf)*pctsrf(i,nsrf) 4035 wfrain(i,nsrf) = rain_f(i)*pctsrf(i,nsrf)4036 wfsnow(i,nsrf) = snow_f(i)*pctsrf(i,nsrf)4037 4030 4038 4031 zxtsol(i) = zxtsol(i) + ts(i,nsrf) * pctsrf(i,nsrf) -
LMDZ6/trunk/libf/phylmdiso/phys_local_var_mod.F90
r4703 r4737 455 455 REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig 456 456 !$OMP THREADPRIVATE(proba_notrig, random_notrig) 457 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils , wfbilo458 !$OMP THREADPRIVATE(fsolsw, wfbils , wfbilo)459 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wfevap , wfrain, wfsnow460 !$OMP THREADPRIVATE(wfevap ,wfrain,wfsnow)457 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils 458 !$OMP THREADPRIVATE(fsolsw, wfbils) 459 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wfevap 460 !$OMP THREADPRIVATE(wfevap) 461 461 REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t2m, fluxlat, fsollw,evap_pot 462 462 !$OMP THREADPRIVATE(t2m, fluxlat, fsollw,evap_pot) … … 990 990 ALLOCATE(t2m(klon, nbsrf), fluxlat(klon, nbsrf)) 991 991 ALLOCATE(fsollw(klon, nbsrf)) 992 ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf) , wfbilo(klon, nbsrf))993 ALLOCATE(wfevap(klon, nbsrf) , wfrain(klon,nbsrf), wfsnow(klon, nbsrf))992 ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf)) 993 ALLOCATE(wfevap(klon, nbsrf)) 994 994 ALLOCATE(evap_pot(klon, nbsrf)) 995 995 ! FC … … 1361 1361 DEALLOCATE(t2m, fluxlat) 1362 1362 DEALLOCATE(fsollw, evap_pot) 1363 DEALLOCATE(fsolsw, wfbils , wfbilo)1364 DEALLOCATE(wfevap ,wfrain,wfsnow)1363 DEALLOCATE(fsolsw, wfbils) 1364 DEALLOCATE(wfevap) 1365 1365 1366 1366 DEALLOCATE(pmflxr, pmflxs) -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r4724 r4737 354 354 t2m, fluxlat, & 355 355 fsollw, evap_pot, & 356 fsolsw, wfbils, wfbilo, & 357 wfevap, wfrain, wfsnow, & 356 fsolsw, wfbils, wfevap, & 358 357 prfl, psfl,bsfl, fraca, Vprecip, & 359 358 zw2, & … … 3076 3075 ! frugs, agesno, fsollw, fsolsw, 3077 3076 ! d_ts, fevap, fluxlat, t2m, 3078 ! wfbils, wfbilo,fluxt, fluxu, fluxv,3077 ! wfbils, fluxt, fluxu, fluxv, 3079 3078 ! 3080 3079 ! Certains ne sont pas utiliser du tout : … … 3175 3174 z0m, z0h, agesno, fsollw, fsolsw, & 3176 3175 d_ts, fevap, fluxlat, t2m, & 3177 wfbils, wf bilo, wfevap, wfrain, wfsnow, &3176 wfbils, wfevap, & 3178 3177 fluxt, fluxu, fluxv, & 3179 3178 dsens, devap, zxsnow, &
Note: See TracChangeset
for help on using the changeset viewer.