Changeset 952 for LMDZ4/trunk/libf/phylmd/physiq.F
- Timestamp:
- Apr 18, 2008, 6:20:30 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/physiq.F
r950 r952 171 171 PARAMETER (ok_region=.FALSE.) 172 172 c====================================================================== 173 c pour phsystoke avec thermiques174 real,allocatable,save :: clwcon0th(:,:),rnebcon0th(:,:)175 c$OMP THREADPRIVATE(clwcon0th,rnebcon0th)176 177 173 real weak_inversion(klon),dthmin(klon) 178 174 real seuil_inversion … … 254 250 cym#include "raddim.h" 255 251 c 256 257 REAL,allocatable,save :: swdn0(:,:), swdn(:,:)258 REAL,allocatable,save :: swup0(:,:), swup(:,:)259 c$OMP THREADPRIVATE(swdn0 , swdn, swup0, swup)260 c261 REAL,allocatable,save :: SWdn200clr(:), SWdn200(:)262 REAL,allocatable,save :: SWup200clr(:), SWup200(:)263 c$OMP THREADPRIVATE(SWdn200clr, SWdn200, SWup200clr, SWup200)264 c265 REAL,allocatable,save :: lwdn0(:,:), lwdn(:,:)266 REAL,allocatable,save :: lwup0(:,:), lwup(:,:)267 c$OMP THREADPRIVATE(lwdn0 , lwdn, lwup0, lwup)268 c269 REAL,allocatable,save :: LWdn200clr(:), LWdn200(:)270 REAL,allocatable,save :: LWup200clr(:), LWup200(:)271 c$OMP THREADPRIVATE(LWdn200clr, LWdn200, LWup200clr, LWup200)272 c273 REAL,allocatable,save :: LWdnTOA(:), LWdnTOAclr(:)274 c$OMP THREADPRIVATE(LWdnTOA, LWdnTOAclr)275 252 c 276 253 cIM Amip2 277 254 c variables a une pression donnee 278 255 c 279 integer nlevSTD280 PARAMETER(nlevSTD=17)281 256 real rlevSTD(nlevSTD) 282 257 DATA rlevSTD/100000., 92500., 85000., 70000., … … 284 259 .15000., 10000., 7000., 5000., 3000., 2000., 1000./ 285 260 SAVE rlevstd 286 c$OMP THREADPRIVATE(rlevSTD)287 261 CHARACTER*4 clevSTD(nlevSTD) 288 262 DATA clevSTD/'1000','925 ','850 ','700 ','600 ', … … 290 264 .'70 ','50 ','30 ','20 ','10 '/ 291 265 SAVE clevSTD 292 c$OMP THREADPRIVATE(clevSTD)293 266 c 294 267 CHARACTER*4 bb2 … … 301 274 c 302 275 c nout : niveau de output des variables a une pression donnee 303 INTEGER nout304 PARAMETER(nout=3) !nout=1 : day; =2 : mth; =3 : NMC305 c306 REAL,SAVE,ALLOCATABLE :: tsumSTD(:,:,:)307 REAL,SAVE,ALLOCATABLE :: usumSTD(:,:,:), vsumSTD(:,:,:)308 REAL,SAVE,ALLOCATABLE :: wsumSTD(:,:,:), phisumSTD(:,:,:)309 REAL,SAVE,ALLOCATABLE :: qsumSTD(:,:,:), rhsumSTD(:,:,:)310 c$OMP THREADPRIVATE(tsumSTD, usumSTD, vsumSTD, wsumSTD, phisumSTD)311 c$OMP THREADPRIVATE(qsumSTD, rhsumSTD)312 c313 276 logical oknondef(klon,nlevSTD,nout) 314 real,SAVE,ALLOCATABLE :: tnondef(:,:,:)315 c$OMP THREADPRIVATE(tnondef)316 277 c 317 278 c les produits uvSTD, vqSTD, .., T2STD sont calcules … … 323 284 real vTSTD(klon,nlevSTD) 324 285 real wqSTD(klon,nlevSTD) 325 c326 real,save,allocatable :: uvsumSTD(:,:,:)327 real,save,allocatable :: vqsumSTD(:,:,:)328 real,save,allocatable :: vTsumSTD(:,:,:)329 real,save,allocatable :: wqsumSTD(:,:,:)330 286 c 331 287 real vphiSTD(klon,nlevSTD) … … 334 290 real v2STD(klon,nlevSTD) 335 291 real T2STD(klon,nlevSTD) 336 c337 real,save,allocatable :: vphisumSTD(:,:,:)338 real,save,allocatable :: wTsumSTD(:,:,:)339 real,save,allocatable :: u2sumSTD(:,:,:)340 real,save,allocatable :: v2sumSTD(:,:,:)341 real,save,allocatable :: T2sumSTD(:,:,:)342 c343 c$OMP THREADPRIVATE(uvsumSTD, vqsumSTD, vTsumSTD, wqsumSTD)344 c$OMP THREADPRIVATE(vphisumSTD, wTsumSTD, u2sumSTD, v2sumSTD, T2sumSTD)345 346 cMI Amip2347 292 c 348 293 #include "radepsi.h" … … 393 338 ! PARAMETER(isccppas=6) !appel du simulateurs tous les 6pas de temps de la physique 394 339 ! !i.e. toutes les 3 heures 395 INTEGER n, napisccp 396 c PARAMETER(napisccp=3) 397 PARAMETER(napisccp=1) 340 INTEGER n 398 341 INTEGER ifreq_isccp(napisccp), freqin_pdt(napisccp) 399 342 DATA ifreq_isccp/3/ … … 414 357 REAL t1, aa 415 358 REAL seed_re(klon,napisccp) 416 INTEGER,ALLOCATABLE,SAVE :: seed_old(:,:)417 c$OMP THREADPRIVATE(seed_old)418 359 cym !!!! A voir plus tard 419 360 cym INTEGER iphy(iim,jjmp1) … … 488 429 REAL o500(klon) 489 430 c 490 cIM: nbregdyn = nbre regions pour calculs statistiques sur output du ISCCP 491 cIM: dynamiques 492 INTEGER nreg, nbregdyn 493 PARAMETER(nbregdyn=5) 494 495 INTEGER,ALLOCATABLE,SAVE :: pct_ocean(:,:) 496 c$OMP THREADPRIVATE(pct_ocean) 497 cym SAVE pct_ocean 498 431 499 432 c sorties ISCCP 500 433 … … 516 449 c$OMP THREADPRIVATE(cldtopres,cldtopres3) 517 450 cIM 051005 BEG 518 REAL tmp_his1_3d(iwmax,kmaxm1,lmaxm1,nbregdyn,napisccp)519 REAL tmp_his2_3d(iwmax,kmaxm1,lmaxm1,nbregdyn,napisccp)520 REAL tmp_his3_3d(iwmax,kmaxm1,lmaxm1,nbregdyn,napisccp)521 451 INTEGER komega, nhoriRD 522 452 … … 622 552 c$OMP THREADPRIVATE(radpas) 623 553 c 624 REAL,SAVE,ALLOCATABLE :: rlonPOS(:)625 c$OMP THREADPRIVATE(rlonPOS)626 cym SAVE rlonPOS ! longitudes > 0. pour chaque point627 c628 554 cc INTEGER iflag_con 629 555 cc SAVE iflag_con ! indicateur de la convection … … 634 560 c 635 561 real slp(klon) ! sea level pressure 636 637 cIM638 REAL,SAVE,ALLOCATABLE :: newsst(:) !temperature de l'ocean639 c$OMP THREADPRIVATE(newsst)640 cym SAVE newsst641 562 c 642 563 REAL fevap(klon,nbsrf) 643 564 REAL fluxlat(klon,nbsrf) 644 565 c 645 REAL,allocatable,save :: deltat(:)646 c$OMP THREADPRIVATE(deltat)647 cym SAVE deltat ! ecart avec la SST de reference648 c649 566 REAL qsol(klon) 650 567 REAL,save :: solarlong0 … … 655 572 REAL zulow(klon),zvlow(klon) 656 573 c 657 REAL,allocatable,save :: zuthe(:),zvthe(:)658 c$OMP THREADPRIVATE(zuthe,zvthe)659 cym SAVE zuthe660 cym SAVE zvthe661 574 INTEGER igwd,idx(klon),itest(klon) 662 575 c 663 576 REAL agesno(klon,nbsrf) 664 c665 REAL,allocatable,save :: alb_neig(:)666 c$OMP THREADPRIVATE(alb_neig)667 cym SAVE alb_neig ! albedo de la neige668 577 c 669 578 c REAL,allocatable,save :: run_off_lic_0(:) … … 673 582 c Variables liees a la convection de K. Emanuel (sb): 674 583 c 675 REAL,allocatable,save :: ema_workcbmf(:) ! cloud base mass flux676 c$OMP THREADPRIVATE(ema_workcbmf)677 cym SAVE ema_workcbmf678 679 REAL,allocatable,save :: ema_cbmf(:) ! cloud base mass flux680 c$OMP THREADPRIVATE(ema_cbmf)681 cym SAVE ema_cbmf682 683 REAL,allocatable,save :: ema_pcb(:) ! cloud base pressure684 c$OMP THREADPRIVATE(ema_pcb)685 cym SAVE ema_pcb686 687 REAL,allocatable,save :: ema_pct(:) ! cloud top pressure688 c$OMP THREADPRIVATE(ema_pct)689 cym SAVE ema_pct690 691 584 REAL bas, top ! cloud base and top levels 692 585 SAVE bas … … 694 587 c$OMP THREADPRIVATE(bas, top) 695 588 696 REAL,allocatable,save :: Ma(:,:) ! undilute upward mass flux697 c$OMP THREADPRIVATE(Ma)698 cym SAVE Ma699 REAL,allocatable,save :: qcondc(:,:) ! in-cld water content from convect700 c$OMP THREADPRIVATE(qcondc)701 cym SAVE qcondc702 589 REAL wdn(klon), tdn(klon), qdn(klon) 703 704 REAL,allocatable,save :: wd(:) ! sb705 c$OMP THREADPRIVATE(wd)706 cym SAVE wd ! sb707 708 REAL,allocatable,save :: sigd(:)709 590 c 710 591 c================================================================================================= … … 714 595 REAL mip(klon,klev) ! mass flux shed by the adiab ascent at each level 715 596 REAL Vprecip(klon,klev) ! precipitation vertical profile 716 REAL,allocatable,save :: cin(:) ! CIN717 REAL,allocatable,save :: ftd(:,:) ! differential heating between wake and environment718 REAL,allocatable,save :: fqd(:,:) ! differential moistening between wake and environment719 c34EK720 c -- Variables de controle de ALE et ALP721 REAL,allocatable,save :: ALE(:) ! Energie disponible pour soulevement : utilisee par la722 c convection d'Emanuel pour le declenchement et la regulation723 REAL,allocatable,save :: ALP(:) ! Puissance disponible pour soulevement !724 597 c 725 598 REAL wape_prescr, fip_prescr … … 731 604 REAL ment(klon,klev,klev),sij(klon,klev,klev) 732 605 REAL dd_t(klon,klev),dd_q(klon,klev) 733 cnouvelles variables pour le couplage convection-couche limite734 real,allocatable,save :: Ale_bl(:)735 real,allocatable,save :: Alp_bl(:)736 integer,allocatable,save :: lalim_conv(:)737 real,allocatable,save :: wght_th(:,:)738 606 real alp_bl_prescr 739 607 save alp_bl_prescr … … 748 616 REAL t_wake(klon,klev),q_wake(klon,klev) ! wake pour la convection 749 617 750 REAL,allocatable,save :: wake_deltat(:,:) ! Wake : ecart de temperature avec la751 c zone non perturbee752 REAL,allocatable,save :: wake_deltaq(:,:) ! Wake : ecart d'humidite avec la753 c zone non perturbee754 618 REAL wake_dth(klon,klev) ! wake : temp pot difference 755 619 … … 765 629 REAL wake_dp_deltomg(klon,klev) ! Wake : gradient vertical de wake_omg 766 630 REAL wake_spread(klon,klev) ! spreading term in wake_delt 767 REAL,allocatable,save :: wake_Cstar(:) ! vitesse d'etalement de la poche 631 c 768 632 cpourquoi y'a pas de save?? 769 633 REAL wake_h(klon) ! Wake : hauteur de la poche froide 770 REAL,allocatable,save :: wake_s(:) ! Wake : fraction surfacique occupee par 771 c la poche froide 634 c 772 635 INTEGER wake_k(klon) ! Wake sommet 773 636 c … … 776 639 c 777 640 REAL wake_pe(klon) ! Wake potential energy - WAPE 778 REAL,allocatable,save :: wake_fip(:) ! Gust Front Impinging power - ALP779 641 780 642 REAL wake_gfl(klon) ! Gust Front Length 781 643 REAL wake_dens(klon) 782 644 c 783 REAL,allocatable,save :: dt_wake(:,:)784 REAL,allocatable,save :: dq_wake(:,:) ! LS tendencies due to wake785 645 c 786 646 REAL dt_dwn(klon,klev) … … 820 680 c@$$ PARAMETER (offline=.false.) 821 681 c@$$ INTEGER physid 822 REAL,allocatable,save :: pfrac_impa(:,:)! Produits des coefs lessivage impaction823 c$OMP THREADPRIVATE(pfrac_impa)824 cym save pfrac_impa825 REAL,allocatable,save :: pfrac_nucl(:,:)! Produits des coefs lessivage nucleation826 c$OMP THREADPRIVATE(pfrac_nucl)827 cym save pfrac_nucl828 REAL,allocatable,save :: pfrac_1nucl(:,:)! Produits des coefs lessi nucl (alpha = 1)829 c$OMP THREADPRIVATE(pfrac_1nucl)830 cym save pfrac_1nucl831 682 REAL frac_impa(klon,klev) ! fractions d'aerosols lessivees (impaction) 832 683 REAL frac_nucl(klon,klev) ! idem (nucleation) … … 839 690 REAL rain_tiedtke(klon),snow_tiedtke(klon) 840 691 c 841 842 REAL,allocatable,save :: total_rain(:), nday_rain(:)843 c$OMP THREADPRIVATE(total_rain,nday_rain)844 cym save total_rain, nday_rain845 692 cIM 050204 END 846 693 REAL evap(klon), devap(klon) ! evaporation et sa derivee … … 871 718 REAL pctsrf_new(klon,nbsrf) !pourcentage surfaces issus d'ORCHIDEE 872 719 873 cym REAL paire_ter(klon) !surfaces terre874 REAL,allocatable,save :: paire_ter(:) !surfaces terre875 c$OMP THREADPRIVATE(paire_ter)876 877 cIM878 720 cym SAVE pctsrf ! sous-fraction du sol 879 880 REAL,allocatable,save :: albsol1(:) ! albedo du sol total pour SW visible881 c$OMP THREADPRIVATE(albsol1)882 REAL,allocatable,save :: albsol2(:) ! albedo du sol total pour SW proche IR883 c$OMP THREADPRIVATE(albsol2)884 885 REAL,allocatable,save :: wo(:,:)886 c$OMP THREADPRIVATE(wo)887 cym SAVE wo ! ozone888 721 889 722 cIM sorties … … 932 765 c Variables locales 933 766 c 934 real,allocatable,save :: clwcon0(:,:),rnebcon0(:,:)935 cym save rnebcon, clwcon936 c$OMP THREADPRIVATE(clwcon0,rnebcon0)937 767 REAL rhcl(klon,klev) ! humiditi relative ciel clair 938 768 REAL dialiq(klon,klev) ! eau liquide nuageuse … … 954 784 REAL zxfluxv(klon, klev) 955 785 CXXX 956 REAL,allocatable,save :: heat(:,:) ! chauffage solaire 957 c$OMP THREADPRIVATE(heat) 958 REAL,allocatable,save :: heat0(:,:) ! chauffage solaire ciel clair 959 c$OMP THREADPRIVATE(heat0) 960 REAL,allocatable,save :: cool(:,:) ! refroidissement infrarouge 961 c$OMP THREADPRIVATE(cool) 962 REAL,allocatable,save :: cool0(:,:) ! refroidissement infrarouge ciel clair 963 c$OMP THREADPRIVATE(cool0) 964 REAL,allocatable,save :: topsw(:), toplw(:) 965 c$OMP THREADPRIVATE(topsw,toplw) 966 real,allocatable,save :: sollwdown(:) ! downward LW flux at surface 967 c$OMP THREADPRIVATE(sollwdown) 968 cIM BEG 969 real,allocatable,save :: sollwdownclr(:) ! downward CS LW flux at surface 970 c$OMP THREADPRIVATE(sollwdownclr) 971 real,allocatable,save :: toplwdown(:) ! downward CS LW flux at TOA 972 c$OMP THREADPRIVATE(toplwdown) 973 real,allocatable,save :: toplwdownclr(:) ! downward CS LW flux at TOA 974 c$OMP THREADPRIVATE(toplwdownclr) 975 cIM END 976 REAL,allocatable,save :: topsw0(:),toplw0(:),solsw0(:),sollw0(:) 977 c$OMP THREADPRIVATE( topsw0,toplw0,solsw0,sollw0) 978 REAL,allocatable,save :: albpla(:) 979 c$OMP THREADPRIVATE(albpla) 786 c 980 787 REAL fsollw(klon, nbsrf) ! bilan flux IR pour chaque sous surface 981 788 REAL fsolsw(klon, nbsrf) ! flux solaire absorb. pour chaque sous surface … … 1033 840 REAL dnwd0(klon,klev) ! unsaturated downdraft mass flux 1034 841 REAL tvp(klon,klev) ! virtual temp of lifted parcel 1035 REAL,allocatable,save :: cape(:) ! CAPE1036 c$OMP THREADPRIVATE(cape)1037 cym SAVE cape1038 842 CHARACTER*40 capemaxcels !max(CAPE) 1039 843 1040 REAL,allocatable,save :: pbase(:) ! cloud base pressure1041 c$OMP THREADPRIVATE(pbase)1042 cym SAVE pbase1043 REAL,allocatable,save :: bbase(:) ! cloud base buoyancy1044 c$OMP THREADPRIVATE(bbase)1045 cym SAVE bbase1046 844 REAL rflag(klon) ! flag fonctionnement de convect 1047 845 INTEGER iflagctrl(klon) ! flag fonctionnement de convect … … 1073 871 ********************************************************* 1074 872 * declarations 1075 real,save,allocatable :: zqasc(:,:)1076 c$OMP THREADPRIVATE(zqasc)1077 cym save zqasc1078 873 1079 874 ********************************************************* … … 1087 882 REAL prfl(klon,klev+1), psfl(klon,klev+1) 1088 883 c 1089 INTEGER,allocatable,save :: ibas_con(:), itop_con(:)1090 c$OMP THREADPRIVATE(ibas_con,itop_con)1091 cym1092 cym SAVE ibas_con,itop_con1093 cym1094 REAL,SAVE,ALLOCATABLE :: rain_con(:)1095 c$OMP THREADPRIVATE(rain_con)1096 884 REAL rain_lsc(klon) 1097 REAL,SAVE,ALLOCATABLE :: snow_con(:)1098 c$OMP THREADPRIVATE(snow_con)1099 885 REAL snow_lsc(klon) 1100 886 c 1101 887 REAL ratqss(klon,klev),ratqsc(klon,klev) 1102 888 real ratqsbas,ratqshaut 1103 cym save ratqsbas,ratqshaut, ratqs1104 889 save ratqsbas,ratqshaut 1105 c$OMP THREADPRIVATE(ratqsbas,ratqshaut)1106 890 real zpt_conv(klon,klev) 1107 891 … … 1275 1059 1276 1060 cIM: t2m, q2m, u10m, v10m et t2mincels, t2maxcels 1277 REAL,SAVE,ALLOCATABLE :: u10m(:,:), v10m(:,:) !vents a 10m1278 c$OMP THREADPRIVATE(u10m,v10m)1279 1061 REAL zt2m(klon), zq2m(klon) !temp., hum. 2m moyenne s/ 1 maille 1280 1062 REAL zu10m(klon), zv10m(klon) !vents a 10m moyennes s/1 maille … … 1283 1065 cjq Aerosol effects (Johannes Quaas, 27/11/2003) 1284 1066 REAL sulfate(klon, klev) ! SO4 aerosol concentration [ug/m3] 1285 REAL,allocatable,save :: sulfate_pi(:,:) ! SO4 aerosol concentration [ug/m3] (pre-industrial value)1286 c$OMP THREADPRIVATE(sulfate_pi)1287 cym SAVE sulfate_pi1288 1067 1289 1068 REAL cldtaupi(klon,klev) ! Cloud optical thickness for pre-industrial (pi) aerosols … … 1295 1074 1296 1075 ! Aerosol optical properties 1297 REAL,SAVE,ALLOCATABLE :: tau_ae(:,:,:), piz_ae(:,:,:)1298 c$OMP THREADPRIVATE(tau_ae,piz_ae)1299 REAL,SAVE,ALLOCATABLE :: cg_ae(:,:,:)1300 c$OMP THREADPRIVATE(cg_ae)1301 1302 1076 #ifdef INCA_AER 1303 1077 #ifdef CPP_COUPLE 1304 1078 ! Aerosol optical properties by INCA model 1305 REAL, SAVE, ALLOCATABLE :: tau_inca(:,:,:,:)1306 REAL, SAVE, ALLOCATABLE :: piz_inca(:,:,:,:)1307 REAL, SAVE, ALLOCATABLE :: cg_inca(:,:,:,:)1308 REAL, SAVE, ALLOCATABLE :: ccm(:,:,:)1309 1079 CHARACTER*4 :: rfname(9) 1310 1080 1311 REAL,SAVE,ALLOCATABLE :: topswad_inca(:), solswad_inca(:) ! Aerosol direct effect.1312 REAL,SAVE,ALLOCATABLE :: topswad0_inca(:), solswad0_inca(:) ! Aerosol direct effect.1313 REAL,SAVE,ALLOCATABLE :: topswai_inca(:), solswai_inca(:) ! Aerosol indirect effect.1314 REAL,SAVE,ALLOCATABLE :: topsw_inca(:,:), solsw_inca(:,:)1315 REAL,SAVE,ALLOCATABLE :: topsw0_inca(:,:), solsw0_inca(:,:)1316 1081 #endif 1317 1082 #endif 1318 REAL,SAVE,ALLOCATABLE :: topswad(:), solswad(:) ! Aerosol direct effect.1319 c$OMP THREADPRIVATE(topswad,solswad)1320 ! ok_ade=T -ADE=topswad-topsw1321 1322 REAL,SAVE,ALLOCATABLE :: topswai(:), solswai(:) ! Aerosol indirect effect.1323 c$OMP THREADPRIVATE(topswai,solswai)1324 ! ok_aie=T ->1325 ! ok_ade=T -AIE=topswai-topswad1326 ! ok_ade=F -AIE=topswai-topsw1327 1328 1083 REAL aerindex(klon) ! POLDER aerosol index 1329 1084 … … 1388 1143 if (first) then 1389 1144 1390 allocate( swdn0(klon,klevp1), swdn(klon,klevp1))1391 allocate( swup0(klon,klevp1), swup(klon,klevp1))1392 allocate( SWdn200clr(klon), SWdn200(klon))1393 allocate( SWup200clr(klon), SWup200(klon))1394 allocate( lwdn0(klon,klevp1), lwdn(klon,klevp1))1395 allocate( lwup0(klon,klevp1), lwup(klon,klevp1))1396 allocate( LWdn200clr(klon), LWdn200(klon))1397 allocate( LWup200clr(klon), LWup200(klon))1398 allocate( LWdnTOA(klon), LWdnTOAclr(klon))1399 allocate( deltat(klon))1400 allocate( zuthe(klon),zvthe(klon))1401 allocate( alb_neig(klon))1402 allocate( ema_workcbmf(klon))1403 1145 cCR:nvelles variables convection/poches froides 1404 allocate( sigd(klon))1405 allocate( cin(klon))1406 allocate( ftd(klon,klev))1407 allocate( fqd(klon,klev))1408 allocate( ALE(klon))1409 allocate( ALP(klon))1410 allocate( Ale_bl(klon))1411 allocate( Alp_bl(klon))1412 allocate( lalim_conv(klon))1413 allocate( wght_th(klon,klev))1414 allocate( wake_deltat(klon,klev))1415 allocate( wake_deltaq(klon,klev))1416 allocate( wake_Cstar(klon))1417 allocate( wake_s(klon))1418 allocate( wake_fip(klon))1419 allocate( dt_wake(klon,klev))1420 allocate( dq_wake(klon,klev))1421 cfinCR1422 allocate( ema_cbmf(klon))1423 allocate( ema_pcb(klon))1424 allocate( ema_pct(klon))1425 allocate( Ma(klon,klev) )1426 allocate( qcondc(klon,klev))1427 allocate( wd(klon) )1428 allocate( pfrac_impa(klon,klev))1429 allocate( pfrac_nucl(klon,klev))1430 allocate( pfrac_1nucl(klon,klev))1431 allocate( total_rain(klon), nday_rain(klon))1432 allocate( albsol1(klon))1433 allocate( albsol2(klon))1434 allocate( wo(klon,klev))1435 allocate( heat(klon,klev) )1436 allocate( heat0(klon,klev) )1437 allocate( cool(klon,klev) )1438 allocate( cool0(klon,klev) )1439 allocate( topsw(klon), toplw(klon))1440 allocate( sollwdown(klon) )1441 allocate( sollwdownclr(klon) )1442 allocate( toplwdown(klon) )1443 allocate( toplwdownclr(klon) )1444 allocate( topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon))1445 allocate( albpla(klon))1446 allocate( cape(klon) )1447 allocate( pbase(klon) )1448 allocate( bbase(klon) )1449 allocate( ibas_con(klon), itop_con(klon))1450 allocate( sulfate_pi(klon, klev))1451 allocate( paire_ter(klon))1452 allocate(tsumSTD(klon,nlevSTD,nout))1453 allocate(usumSTD(klon,nlevSTD,nout))1454 allocate(vsumSTD(klon,nlevSTD,nout))1455 allocate(wsumSTD(klon,nlevSTD,nout))1456 allocate(phisumSTD(klon,nlevSTD,nout))1457 allocate(qsumSTD(klon,nlevSTD,nout))1458 allocate(rhsumSTD(klon,nlevSTD,nout))1459 allocate(uvsumSTD(klon,nlevSTD,nout))1460 allocate(vqsumSTD(klon,nlevSTD,nout))1461 allocate(vTsumSTD(klon,nlevSTD,nout))1462 allocate(wqsumSTD(klon,nlevSTD,nout))1463 allocate( vphisumSTD(klon,nlevSTD,nout))1464 allocate( wTsumSTD(klon,nlevSTD,nout))1465 allocate( u2sumSTD(klon,nlevSTD,nout))1466 allocate( v2sumSTD(klon,nlevSTD,nout))1467 allocate( T2sumSTD(klon,nlevSTD,nout))1468 allocate( seed_old(klon,napisccp))1469 allocate( pct_ocean(klon,nbregdyn))1470 allocate( rlonPOS(klon))1471 allocate( newsst(klon))1472 allocate( zqasc(klon,klev))1473 allocate( rain_con(klon))1474 allocate( u10m(klon,nbsrf), v10m(klon,nbsrf))1475 allocate( topswad(klon), solswad(klon))1476 allocate( topswai(klon), solswai(klon) )1477 #ifdef INCA_AER1478 #ifdef CPP_COUPLE1479 allocate( topswad_inca(klon), solswad_inca(klon))1480 allocate( topswad0_inca(klon), solswad0_inca(klon))1481 allocate( topswai_inca(klon), solswai_inca(klon))1482 allocate( topsw_inca(klon,9), solsw_inca(klon,9))1483 allocate( topsw0_inca(klon,9), solsw0_inca(klon,9))1484 allocate( tau_inca(klon,klev,9,2))1485 allocate( piz_inca(klon,klev,9,2))1486 allocate( cg_inca(klon,klev,9,2))1487 allocate( ccm(klon,klev,2) )1488 #endif1489 #endif1490 allocate( clwcon0(klon,klev),rnebcon0(klon,klev))1491 allocate( clwcon0th(klon,klev),rnebcon0th(klon,klev))1492 allocate( tau_ae(klon,klev,2), piz_ae(klon,klev,2))1493 allocate( cg_ae(klon,klev,2))1494 allocate( snow_con(klon))1495 allocate( tnondef(klon,nlevSTD,nout))1496 1146 1497 1147 print*, '=================================================' … … 1583 1233 rnebcon(:,:) = 0.0 1584 1234 clwcon(:,:) = 0.0 1585 paire_ter(:) = 0.01586 c nhistoW(:,:,:,:) = 0.01587 c histoW(:,:,:,:) = 0.01588 1235 ! fin anne 1589 1236 … … 1621 1268 PRINT*, "Using method MELLOR&YAMADA" 1622 1269 endif 1623 pbl_tke(:,:,:) = 1.e-81624 1625 1270 1626 1271 CALL phyetat0 ("startphy.nc",dtime,co2_ppm_etat0,solaire_etat0,
Note: See TracChangeset
for help on using the changeset viewer.