Changeset 152 for LMDZ.3.3/branches/rel-LF/libf/phylmd
- Timestamp:
- Oct 30, 2000, 11:59:29 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F
r143 r152 67 67 c Parametres lies au coupleur OASIS: 68 68 #include "oasis.h" 69 INTEGER npas, nexca , itimestep69 INTEGER npas, nexca 70 70 logical rnpb 71 71 parameter(rnpb=.true.) 72 72 c PARAMETER (npas=1440) 73 73 c PARAMETER (nexca=48) 74 c PARAMETER (itimestep=1800)75 74 EXTERNAL fromcpl, intocpl, inicma 76 REAL cpl_sst(iim,jjmp1), cpl_sic(iim,jjmp1)77 REAL cpl_alb_sst(iim,jjmp1), cpl_alb_sic(iim,jjmp1)78 75 c ocean = type de modele ocean a utiliser: force, slab, couple 79 76 character *6 ocean 80 77 parameter (ocean = 'force ') 78 c parameter (ocean = 'couple') 81 79 c====================================================================== 82 80 c ok_ocean indique l'utilisation du modele oceanique "slab ocean", … … 101 99 ccc LOGICAL soil_model 102 100 ccc PARAMETER (soil_model=.FALSE.) 103 REAL soilcap(klon,nbsrf), soilflux(klon,nbsrf)104 SAVE soilcap, soilflux105 101 logical ok_veget 106 102 parameter (ok_veget = .false.) … … 161 157 REAL presnivs(klev) 162 158 REAL znivsig(klev) 163 REAL zsurf(nbsrf)164 159 165 160 REAL u(klon,klev) … … 173 168 SAVE ancien_ok 174 169 175 REAL d_u_dyn(klon,klev)176 REAL d_v_dyn(klon,klev)177 170 REAL d_t_dyn(klon,klev) 178 171 REAL d_q_dyn(klon,klev) … … 335 328 REAL pctsrf(klon,nbsrf) 336 329 SAVE pctsrf ! sous-fraction du sol 337 REAL lmt_sst(klon)338 SAVE lmt_sst ! temperature de la surface ocean339 330 REAL lmt_bils(klon) 340 331 SAVE lmt_bils ! bilan de chaleur au sol 341 REAL lmt_alb(klon)342 SAVE lmt_alb ! temperature de la surface ocean343 REAL lmt_rug(klon)344 SAVE lmt_rug ! longueur de rugosite345 REAL alb_eau(klon)346 SAVE alb_eau ! albedo sur l'ocean347 332 REAL albsol(klon) 348 333 SAVE albsol ! albedo du sol total … … 422 407 REAL cldt(klon),cldq(klon) !nuage total, eau liquide integree 423 408 c 424 REAL zx_alb_lic, zx_alb_oce, zx_alb_ter, zx_alb_sic425 409 REAL zxtsol(klon), zxqsol(klon), zxsnow(klon) 426 410 c … … 429 413 c 430 414 CHARACTER*2 str2 431 CHARACTER*2 iqn432 415 c 433 416 REAL qcheck … … 437 420 REAL za, zb 438 421 REAL zx_t, zx_qs, zdelta, zcor, zfra, zlvdcp, zlsdcp 439 INTEGER i, k, iq, ig, j,nsrf, ll422 INTEGER i, k, iq, nsrf, ll 440 423 REAL t_coup 441 424 PARAMETER (t_coup=234.0) 442 425 c 443 426 REAL zphi(klon,klev) 444 REAL zx_relief(iim,jjmp1)445 REAL zx_aire(iim,jjmp1)446 427 c 447 428 c Variables du changement … … 493 474 SAVE ecrit_reg ! frequence d'ecriture 494 475 c 495 REAL oas_sols(klon), z_sols(iim,jjmp1)496 SAVE oas_sols497 REAL oas_nsol(klon), z_nsol(iim,jjmp1)498 SAVE oas_nsol499 REAL oas_rain(klon), z_rain(iim,jjmp1)500 SAVE oas_rain501 REAL oas_snow(klon), z_snow(iim,jjmp1)502 SAVE oas_snow503 REAL oas_evap(klon), z_evap(iim,jjmp1)504 SAVE oas_evap505 REAL oas_ruis(klon), z_ruis(iim,jjmp1)506 SAVE oas_ruis507 REAL oas_tsol(klon), z_tsol(iim,jjmp1)508 SAVE oas_tsol509 REAL oas_fder(klon), z_fder(iim,jjmp1)510 SAVE oas_fder511 REAL oas_albe(klon), z_albe(iim,jjmp1)512 SAVE oas_albe513 REAL oas_taux(klon), z_taux(iim,jjmp1)514 SAVE oas_taux515 REAL oas_tauy(klon), z_tauy(iim,jjmp1)516 SAVE oas_tauy517 REAL oas_ruisoce(klon), z_ruisoce(iim,jjmp1)518 SAVE oas_ruisoce519 REAL oas_ruisriv(klon), z_ruisriv(iim,jjmp1)520 SAVE oas_ruisriv521 476 c 522 477 c … … 528 483 c 529 484 REAL tr_seri(klon,klev,nbtr) 530 REAL d_tr(klon,klev,nbtr)531 REAL source_tr(klon,nbtr)532 485 533 486 REAL zx_rh(klon,klev) 534 REAL dtimeday,dtimecri,dtimexp9,fecri_pas,fecri86400,fecritday535 487 536 488 INTEGER length … … 546 498 SAVE nid_day, nid_mth, nid_ins 547 499 c 548 INTEGER nhori, nvert ,nvertsf500 INTEGER nhori, nvert 549 501 REAL zsto, zout, zjulian 550 502 … … 598 550 CALL phyetat0 ("startphy.nc",dtime,co2_ppm,solaire, 599 551 . rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow, 600 . falbe, fevap, rain_fall,snow_fall,sol lw, solsw,601 . radsol,rugmer,agesno,clesphy0,552 . falbe, fevap, rain_fall,snow_fall,solsw, sollw, 553 . fder,radsol,frugs,agesno,clesphy0, 602 554 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0, 603 555 . t_ancien, q_ancien, ancien_ok ) … … 1525 1477 idayvrai = NINT(xjour) 1526 1478 PRINT *,' PHYS cond julien ',julien,idayvrai 1527 c CALL condsurf(julien,idayvrai, pctsrf ,1528 c . lmt_sst,lmt_alb,lmt_rug,lmt_bils )1529 1479 CALL ozonecm( FLOAT(julien), rlat, paprs, wo) 1530 1480 ENDIF … … 1551 1501 c 1552 1502 DO i = 1, klon 1553 1554 frugs(i,is_ter) = SQRT(frugs(i,is_ter)**2+rugoro(i)**2)1555 1556 frugs(i,is_lic) = rugoro(i)1557 frugs(i,is_oce) = rugmer(i)1558 frugs(i,is_sic) = 0.0011503 c if (.not. ok_veget) then 1504 c frugs(i,is_ter) = SQRT(frugs(i,is_ter)**2+rugoro(i)**2) 1505 c endif 1506 c frugs(i,is_lic) = rugoro(i) 1507 c frugs(i,is_oce) = rugmer(i) 1508 c frugs(i,is_sic) = 0.001 1559 1509 zxrugs(i) = 0.0 1560 1510 ENDDO … … 1579 1529 rmu0 = -999.999 1580 1530 ENDIF 1531 1532 fder = 0. 1581 1533 1582 1534 CALL clmain(dtime,itap,pctsrf, … … 1887 1839 c 1888 1840 IF (MOD(itaprad,radpas).EQ.0) THEN 1889 c CALL orbite(FLOAT(julien),zlongi,dist) 1890 c IF (cycle_diurne) THEN 1891 c zdtime=dtime*FLOAT(radpas) ! pas de temps du rayonnement (s) 1892 c CALL zenang(zlongi,gmtime,zdtime,rlat,rlon,rmu0,fract) 1893 c CALL zenith(zlongi,gmtime,rlat,rlon,rmu0,fract) !va disparaitre 1894 c CALL alboc_cd(rmu0,alb_eau) 1895 c ELSE 1896 c CALL angle(zlongi,rlat,fract,rmu0) 1897 c CALL alboc(FLOAT(julien),rlat,alb_eau) 1898 c ENDIF 1899 c CALL albsno(veget,agesno,alb_neig) 1900 DO i = 1, klon 1901 c falbe(i,is_oce) = alb_eau(i) 1902 c IF (pctsrf(i,is_oce).GT.epsfra .AND. ftsol(i,is_oce).LT.271.35) 1903 c . falbe(i,is_oce) = 0.6 ! pour slab_ocean 1904 c zfra = MAX(0.0,MIN(1.0,fsnow(i,is_lic)/(fsnow(i,is_lic)+10.0))) 1905 c falbe(i,is_lic) = alb_neig(i)*zfra + 0.6*(1.0-zfra) 1906 c zfra = MAX(0.0,MIN(1.0,fsnow(i,is_ter)/(fsnow(i,is_ter)+10.0))) 1907 c falbe(i,is_ter) = alb_neig(i)*zfra + lmt_alb(i)*(1.0-zfra) 1908 c zfra = MAX(0.0,MIN(1.0,fsnow(i,is_sic)/(fsnow(i,is_sic)+10.0))) 1841 DO i = 1, klon 1909 1842 falbe(i,is_sic) = alb_neig(i)*zfra + 0.6*(1.0-zfra) 1910 1843 albsol(i) = falbe(i,is_oce) * pctsrf(i,is_oce) … … 1913 1846 . + falbe(i,is_sic) * pctsrf(i,is_sic) 1914 1847 ENDDO 1915 c DO nsrf = 1, nbsrf1916 c DO i = 1, klon1917 c albsol(i) = albsol(i) + falbe(i,nsrf)*pctsrf(i,nsrf)1918 c ENDDO1919 c ENDDO1920 1848 CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS) 1921 1849 e (dist, rmu0, fract, co2_ppm, solaire, … … 2809 2737 . rlat, rlon, pctsrf, ftsol, ftsoil, deltat, fqsol, fsnow, 2810 2738 . falbe, fevap, rain_fall, snow_fall, 2811 . solsw, sollw, 2739 . solsw, sollw,fder, 2812 2740 . radsol,frugs,agesno, 2813 2741 . zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,
Note: See TracChangeset
for help on using the changeset viewer.