Changeset 705 for LMDZ4/branches/IPSL-CM4_IPCC_patches/libf
- Timestamp:
- Sep 19, 2006, 4:23:21 PM (18 years ago)
- Location:
- LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/clesphys.h
r524 r705 10 10 REAL*8 RCO2, RCH4, RN2O, RCFC11, RCFC12 11 11 REAL*8 CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt 12 cOM ---> correction du bilan d'eau global 13 cOM Correction sur precip KE 14 REAL cvl_corr 15 cOM Fonte calotte dans bilan eau 16 LOGICAL ok_lic_melt 17 12 18 cIM simulateur ISCCP 13 19 INTEGER top_height, overlap … … 29 35 , , top_height, overlap, cdmmax, cdhmax, ksta, ksta_ter 30 36 , , ok_kzmin, lev_histhf, lev_histday, lev_histmth 37 , , ok_lic_melt, cvl_corr -
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/clesphys.inc
r524 r705 16 16 INTEGER :: lev_histhf, lev_histday, lev_histmth 17 17 18 !OM ---> correction du bilan d'eau global 19 !OM Correction sur precip KE 20 REAL cvl_corr 21 !OM Fonte calotte dans bilan eau 22 LOGICAL ok_lic_melt 23 18 24 COMMON/clesphys/cycle_diurne, soil_model, new_oliq, & 19 25 & ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad, iflag_con & … … 21 27 & , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt & 22 28 & , top_height, overlap, cdmmax, cdhmax, ksta, ksta_ter & 23 & , ok_kzmin, lev_histhf, lev_histday, lev_histmth 29 & , ok_kzmin, lev_histhf, lev_histday, lev_histmth & 30 & , ok_lic_melt, cvl_corr -
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/clmain.F
r589 r705 20 20 cIM cf JLD . zcoefh,zu1,zv1, t2m, q2m, u10m, v10m) 21 21 . zcoefh,zu1,zv1, t2m, q2m, u10m, v10m, 22 . fqcalving,f fonte, run_off_lic_0)22 . fqcalving,fqfonte,ffonte, run_off_lic_0) 23 23 cAA . itr, tr, flux_surf, d_tr) 24 24 cAA REM: … … 73 73 c dflux_q derive du flux latent 74 74 c ffonte----Flux thermique utilise pour fondre la neige 75 c fqfonte -- quantite d'eau due a la fonte de la calotte 75 76 c fqcalving-Flux d'eau "perdue" par la surface et necessaire pour limiter la 76 77 c hauteur de neige, en kg/m2/s … … 102 103 REAL dflux_t(klon), dflux_q(klon) 103 104 cIM cf JLD 104 REAL y_fqcalving(klon), y_f fonte(klon)105 REAL fqcalving(klon,nbsrf), f fonte(klon,nbsrf)105 REAL y_fqcalving(klon), y_fqfonte(klon), y_ffonte(klon) 106 REAL fqcalving(klon,nbsrf), fqfonte(klon,nbsrf), ffonte(klon,nbsrf) 106 107 REAL run_off_lic_0(klon), y_run_off_lic_0(klon) 107 108 … … 579 580 cIM cf JLD s y_flux_t, y_flux_q, y_dflux_t, y_dflux_q) 580 581 s y_flux_t, y_flux_q, y_dflux_t, y_dflux_q, 581 s y_fqcalving,y_f fonte,y_run_off_lic_0)582 s y_fqcalving,y_fqfonte,y_ffonte,y_run_off_lic_0) 582 583 c 583 584 c calculer la longueur de rugosite sur ocean … … 643 644 cIM cf JLD ?? 644 645 fqcalving(i,nsrf) = y_fqcalving(j) 646 fqfonte(i,nsrf) = y_fqfonte(j) 645 647 ffonte(i,nsrf) = y_ffonte(j) 646 648 cdragh(i) = cdragh(i) + ycoefh(j,1) … … 824 826 cIM cf JLD s flux_t, flux_q,dflux_s,dflux_l) 825 827 s flux_t, flux_q,dflux_s,dflux_l, 826 s fqcalving,f fonte,run_off_lic_0)828 s fqcalving,fqfonte,ffonte,run_off_lic_0) 827 829 828 830 USE interface_surf … … 900 902 c hauteur de neige, en kg/m2/s 901 903 REAL fqcalving(klon) 904 c Quantite d'eau de fonte de la calotte kg/mé/s 905 REAL fqfonte(klon) 902 906 c====================================================================== 903 907 REAL t_grnd ! temperature de rappel pour glace de mer … … 1120 1124 s tsol_rad, tsurf_new, alb_new, alblw, emis_new, z0_new, 1121 1125 cIM cf JLD s pctsrf_new, agesno) 1122 s pctsrf_new, agesno,fqcalving,f fonte, run_off_lic_0)1126 s pctsrf_new, agesno,fqcalving,fqfonte,ffonte, run_off_lic_0) 1123 1127 1124 1128 -
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/conf_phys.F90
r586 r705 275 275 !! KE 276 276 ! 277 !Config key = cvl_corr 278 !Config Desc = Facteur multiplication des precip convectives dans KE 279 !Config Def = 1.00 280 !Config Help = 1.02 pour un moderne ou un pre-ind. A ajuster pour un glaciaire 281 cvl_corr = 1.00 282 CALL getin('cvl_corr', cvl_corr) 283 277 284 !Config Key = epmax 278 285 !Config Desc = Efficacite precip … … 514 521 ok_kzmin = .true. 515 522 call getin('ok_kzmin',ok_kzmin) 523 524 !Config Key = ok_lic_melt 525 !Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau 526 !Config Def = .false. 527 !Config Help = mettre a .false. pour assurer la conservation en eau 528 ok_lic_melt = .false. 529 call getin('ok_lic_melt', ok_lic_melt) 516 530 517 531 ! … … 574 588 write(numout,*)' CFC11_ppt=',CFC11_ppt,' RCFC11 = ',RCFC11 575 589 write(numout,*)' CFC12_ppt=',CFC12_ppt,' RCFC12 = ',RCFC12 590 write(numout,*)' cvl_corr=', cvl_corr 591 write(numout,*)'ok_lic_melt=', ok_lic_melt 576 592 write(numout,*)' epmax = ', epmax 577 593 write(numout,*)' ok_adj_ema = ', ok_adj_ema -
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/ini_histmth.h
r581 r705 317 317 . "kg/m2/s",iim,jjmp1,nhori, 1,1,1, -99, 32, 318 318 . "ave(X)", zsto,zout) 319 c 320 CALL histdef(nid_mth, "fqfonte","Land ice melt", 321 . "kg/m2/s",iim,jjmp1,nhori, 1,1,1, -99, 32, 322 . "ave(X)", zsto,zout) 319 323 cIM: 171003 320 324 DO nsrf = 1, nbsrf -
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/interface_surf.F90
r589 r705 39 39 #include "YOMCST.inc" 40 40 #include "indicesol.inc" 41 41 !IM 42 #include "clesphys.inc" 42 43 43 44 ! run_off ruissellement total … … 74 75 & evap, fluxsens, fluxlat, dflux_l, dflux_s, & 75 76 & tsol_rad, tsurf_new, alb_new, alblw, emis_new, & 76 & z0_new, pctsrf_new, agesno,fqcalving,f fonte, run_off_lic_0)77 & z0_new, pctsrf_new, agesno,fqcalving,fqfonte,ffonte, run_off_lic_0) 77 78 78 79 … … 282 283 ffonte(1:knon)=0. 283 284 fqcalving(1:knon)=0. 285 fqfonte (1:knon)=0. 284 286 285 287 cal = 999999. ; beta = 999999. ; dif_grnd = 999999. ; capsol = 999999. … … 375 377 & petAcoef, peqAcoef, petBcoef, peqBcoef, & 376 378 & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, & 377 & fqcalving,f fonte, run_off_lic_0)379 & fqcalving,fqfonte,ffonte, run_off_lic_0) 378 380 379 381 … … 628 630 & petAcoef, peqAcoef, petBcoef, peqBcoef, & 629 631 & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, & 630 & fqcalving,f fonte, run_off_lic_0)632 & fqcalving,fqfonte,ffonte, run_off_lic_0) 631 633 632 634 ! calcul albedo … … 723 725 & petAcoef, peqAcoef, petBcoef, peqBcoef, & 724 726 & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, & 725 & fqcalving,f fonte, run_off_lic_0)727 & fqcalving,fqfonte,ffonte, run_off_lic_0) 726 728 727 729 ! passage du run-off des glaciers calcule dans fonte_neige au coupleur … … 1364 1366 ! l'avoir lu 1365 1367 real, allocatable,dimension(:,:),save :: pctsrf_sav 1366 real, dimension(iim, jjm+1, 2) :: tamp_srf1368 real, dimension(iim, jjm+1, 3) :: tamp_srf 1367 1369 integer, allocatable, dimension(:), save :: tamp_ind 1368 1370 real, allocatable, dimension(:,:),save :: tamp_zmasq … … 1715 1717 wri_rriv = cpl_rriv(:,:) 1716 1718 wri_rcoa = cpl_rcoa(:,:) 1717 DO j = 1, jjm + 1 1718 wri_calv(:,j) = sum(cpl_rlic(:,j)) / iim 1719 enddo 1719 !Essai OM+JLD : ca marche !!!! (17 mars 2006) 1720 CALL gath2cpl( pctsrf(1,is_lic), tamp_srf(1,1,3), klon, klon, iim, jjm, tamp_ind) 1721 DO j = 1, jjm+1 1722 wri_calv(1,j) = DOT_PRODUCT (cpl_rlic(1:iim,j), tamp_srf(1:iim,j,3)) / REAL(iim) 1723 wri_calv(2:iim,j) = wri_calv(1,j) 1724 ENDDO 1720 1725 1721 1726 where (tamp_zmasq /= 1.) … … 2642 2647 & petAcoef, peqAcoef, petBcoef, peqBcoef, & 2643 2648 & tsurf_new, evap, fluxlat, fluxsens, dflux_s, dflux_l, & 2644 & fqcalving,f fonte,run_off_lic_0)2649 & fqcalving,fqfonte,ffonte,run_off_lic_0) 2645 2650 2646 2651 ! Routine de traitement de la fonte de la neige dans le cas du traitement … … 2703 2708 real, dimension(klon), intent(INOUT):: ffonte 2704 2709 ! Flux d'eau "perdue" par la surface et necessaire pour que limiter la 2705 ! hauteur de neige, en kg/m2/s 2706 real, dimension(klon), intent(INOUT):: fqcalving2710 ! hauteur de neige, en kg/m2/s. Et flux d'eau de fonte de la calotte. 2711 REAL, DIMENSION(klon), INTENT(INOUT):: fqcalving, fqfonte 2707 2712 real, dimension(klon), intent(INOUT):: run_off_lic_0 2708 2713 ! Variables locales … … 2824 2829 fq_fonte = MIN( MAX((tsurf_new(i)-RTT )/chasno,0.0),snow(i)) 2825 2830 ffonte(i) = fq_fonte * RLMLT/dtime 2831 fqfonte(i) = fq_fonte/dtime 2826 2832 snow(i) = max(0., snow(i) - fq_fonte) 2827 2833 bil_eau_s(i) = bil_eau_s(i) + fq_fonte … … 2832 2838 fq_fonte = MAX((tsurf_new(i)-RTT )/chaice,0.0) 2833 2839 ffonte(i) = ffonte(i) + fq_fonte * RLMLT/dtime 2834 bil_eau_s(i) = bil_eau_s(i) + fq_fonte 2840 IF ( ok_lic_melt ) THEN 2841 fqfonte(i) = fqfonte(i) + fq_fonte/dtime 2842 bil_eau_s(i) = bil_eau_s(i) + fq_fonte 2843 ENDIF 2835 2844 tsurf_new(i) = RTT 2836 2845 ENDIF … … 2850 2859 & (1. - coeff_rel) * run_off_lic_0(i) 2851 2860 run_off_lic_0(i) = run_off_lic(i) 2852 run_off_lic(i) = run_off_lic(i) + bil_eau_s(i)/dtime2861 run_off_lic(i) = run_off_lic(i) + fqfonte(i)/dtime 2853 2862 endif 2854 2863 enddo -
LMDZ4/branches/IPSL-CM4_IPCC_patches/libf/phylmd/physiq.F
r524 r705 592 592 c !et necessaire pour limiter la 593 593 c !hauteur de neige, en kg/m2/s 594 REAL zxffonte(klon), zxfqcalving(klon) 594 REAL fqfonte(klon,nbsrf) !Quantite d'eau de fonte des glaciers 595 REAL zxffonte(klon), zxfqcalving(klon),zxfqfonte(klon) 595 596 596 597 LOGICAL offline ! Controle du stockage ds "physique" … … 972 973 c Declaration des constantes et des fonctions thermodynamiques 973 974 c 975 SAVE fqfonte 974 976 #include "YOMCST.h" 975 977 #include "YOETHF.h" … … 1026 1028 IF (debut) THEN 1027 1029 C 1030 fqfonte(:,:)=0. 1028 1031 IF (if_ebil.ge.1) d_h_vcol_phy=0. 1029 1032 c … … 1510 1513 s dsens, devap, 1511 1514 s ycoefh,yu1,yv1, t2m, q2m, u10m, v10m, 1512 s fqcalving, f fonte, run_off_lic_0)1515 s fqcalving, fqfonte,ffonte, run_off_lic_0) 1513 1516 c 1514 1517 CXXX PB … … 1577 1580 zxffonte(i) = 0.0 1578 1581 zxfqcalving(i) = 0.0 1582 zxfqfonte(i) = 0.0 1579 1583 c 1580 1584 IF ( abs( pctsrf(i, is_ter) + pctsrf(i, is_lic) + … … 1603 1607 zxfqcalving(i) = zxfqcalving(i) + 1604 1608 . fqcalving(i,nsrf)*pctsrf(i,nsrf) 1609 zxfqfonte(i) = zxfqfonte(i) + 1610 . fqfonte(i,nsrf)*pctsrf(i,nsrf) 1605 1611 c ENDIF 1606 1612 ENDDO … … 1622 1628 IF (pctsrf(i,nsrf) .LT. epsfra) 1623 1629 . fqcalving(i,nsrf) = zxfqcalving(i) 1630 IF (pctsrf(i,nsrf) .LT. epsfra) 1631 . fqfonte(i,nsrf) = zxfqfonte(i) 1624 1632 ENDDO 1625 1633 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.