Ignore:
Timestamp:
Oct 30, 2000, 11:59:29 AM (24 years ago)
Author:
lmdzadmin
Message:

Rajout de la derivee des flux dans le fichier restart physique + menage
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/physiq.F

    r143 r152  
    6767c Parametres lies au coupleur OASIS:
    6868#include "oasis.h"
    69       INTEGER npas, nexca, itimestep
     69      INTEGER npas, nexca
    7070      logical rnpb
    7171      parameter(rnpb=.true.)
    7272c      PARAMETER (npas=1440)
    7373c      PARAMETER (nexca=48)
    74 c      PARAMETER (itimestep=1800)
    7574      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)
    7875c      ocean = type de modele ocean a utiliser: force, slab, couple
    7976      character *6 ocean
    8077      parameter (ocean = 'force ')
     78c     parameter (ocean = 'couple')
    8179c======================================================================
    8280c ok_ocean indique l'utilisation du modele oceanique "slab ocean",
     
    10199ccc      LOGICAL soil_model
    102100ccc      PARAMETER (soil_model=.FALSE.)
    103       REAL soilcap(klon,nbsrf), soilflux(klon,nbsrf)
    104       SAVE soilcap, soilflux
    105101      logical ok_veget
    106102      parameter (ok_veget = .false.)
     
    161157      REAL presnivs(klev)
    162158      REAL znivsig(klev)
    163       REAL zsurf(nbsrf)
    164159
    165160      REAL u(klon,klev)
     
    173168      SAVE ancien_ok
    174169
    175       REAL d_u_dyn(klon,klev)
    176       REAL d_v_dyn(klon,klev)
    177170      REAL d_t_dyn(klon,klev)
    178171      REAL d_q_dyn(klon,klev)
     
    335328      REAL pctsrf(klon,nbsrf)
    336329      SAVE pctsrf                 ! sous-fraction du sol
    337       REAL lmt_sst(klon)
    338       SAVE lmt_sst                ! temperature de la surface ocean
    339330      REAL lmt_bils(klon)
    340331      SAVE lmt_bils               ! bilan de chaleur au sol
    341       REAL lmt_alb(klon)
    342       SAVE lmt_alb                ! temperature de la surface ocean
    343       REAL lmt_rug(klon)
    344       SAVE lmt_rug                ! longueur de rugosite
    345       REAL alb_eau(klon)
    346       SAVE alb_eau                ! albedo sur l'ocean
    347332      REAL albsol(klon)
    348333      SAVE albsol                 ! albedo du sol total
     
    422407      REAL cldt(klon),cldq(klon) !nuage total, eau liquide integree
    423408c
    424       REAL zx_alb_lic, zx_alb_oce, zx_alb_ter, zx_alb_sic
    425409      REAL zxtsol(klon), zxqsol(klon), zxsnow(klon)
    426410c
     
    429413c
    430414      CHARACTER*2 str2
    431       CHARACTER*2 iqn
    432415c
    433416      REAL qcheck
     
    437420      REAL za, zb
    438421      REAL zx_t, zx_qs, zdelta, zcor, zfra, zlvdcp, zlsdcp
    439       INTEGER i, k, iq, ig, j, nsrf, ll
     422      INTEGER i, k, iq, nsrf, ll
    440423      REAL t_coup
    441424      PARAMETER (t_coup=234.0)
    442425c
    443426      REAL zphi(klon,klev)
    444       REAL zx_relief(iim,jjmp1)
    445       REAL zx_aire(iim,jjmp1)
    446427c
    447428c Variables du changement
     
    493474      SAVE ecrit_reg   ! frequence d'ecriture
    494475c
    495       REAL oas_sols(klon), z_sols(iim,jjmp1)
    496       SAVE oas_sols
    497       REAL oas_nsol(klon), z_nsol(iim,jjmp1)
    498       SAVE oas_nsol
    499       REAL oas_rain(klon), z_rain(iim,jjmp1)
    500       SAVE oas_rain
    501       REAL oas_snow(klon), z_snow(iim,jjmp1)
    502       SAVE oas_snow
    503       REAL oas_evap(klon), z_evap(iim,jjmp1)
    504       SAVE oas_evap
    505       REAL oas_ruis(klon), z_ruis(iim,jjmp1)
    506       SAVE oas_ruis
    507       REAL oas_tsol(klon), z_tsol(iim,jjmp1)
    508       SAVE oas_tsol
    509       REAL oas_fder(klon), z_fder(iim,jjmp1)
    510       SAVE oas_fder
    511       REAL oas_albe(klon), z_albe(iim,jjmp1)
    512       SAVE oas_albe
    513       REAL oas_taux(klon), z_taux(iim,jjmp1)
    514       SAVE oas_taux
    515       REAL oas_tauy(klon), z_tauy(iim,jjmp1)
    516       SAVE oas_tauy
    517       REAL oas_ruisoce(klon), z_ruisoce(iim,jjmp1)
    518       SAVE oas_ruisoce
    519       REAL oas_ruisriv(klon), z_ruisriv(iim,jjmp1)
    520       SAVE oas_ruisriv
    521476c
    522477c
     
    528483c
    529484      REAL tr_seri(klon,klev,nbtr)
    530       REAL d_tr(klon,klev,nbtr)
    531       REAL source_tr(klon,nbtr)
    532485
    533486      REAL zx_rh(klon,klev)
    534       REAL dtimeday,dtimecri,dtimexp9,fecri_pas,fecri86400,fecritday
    535487
    536488      INTEGER        length
     
    546498      SAVE nid_day, nid_mth, nid_ins
    547499c
    548       INTEGER nhori, nvert,nvertsf
     500      INTEGER nhori, nvert
    549501      REAL zsto, zout, zjulian
    550502
     
    598550         CALL phyetat0 ("startphy.nc",dtime,co2_ppm,solaire,
    599551     .       rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow,
    600      .       falbe, fevap, rain_fall,snow_fall,sollw, solsw,
    601      .       radsol,rugmer,agesno,clesphy0,
     552     .       falbe, fevap, rain_fall,snow_fall,solsw, sollw,
     553     .       fder,radsol,frugs,agesno,clesphy0,
    602554     .       zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,tabcntr0,
    603555     .       t_ancien, q_ancien, ancien_ok )
     
    15251477         idayvrai = NINT(xjour)
    15261478         PRINT *,' PHYS cond  julien ',julien,idayvrai
    1527 c         CALL condsurf(julien,idayvrai, pctsrf ,
    1528 c     .                  lmt_sst,lmt_alb,lmt_rug,lmt_bils  )
    15291479         CALL ozonecm( FLOAT(julien), rlat, paprs, wo)
    15301480      ENDIF
     
    15511501c
    15521502      DO i = 1, klon
    1553         if (.not. ok_veget) then
    1554           frugs(i,is_ter) = SQRT(frugs(i,is_ter)**2+rugoro(i)**2)
    1555         endif
    1556          frugs(i,is_lic) = rugoro(i)
    1557          frugs(i,is_oce) = rugmer(i)
    1558          frugs(i,is_sic) = 0.001
     1503c       if (.not. ok_veget) then
     1504c          frugs(i,is_ter) = SQRT(frugs(i,is_ter)**2+rugoro(i)**2)
     1505c       endif
     1506c         frugs(i,is_lic) = rugoro(i)
     1507c         frugs(i,is_oce) = rugmer(i)
     1508c         frugs(i,is_sic) = 0.001
    15591509         zxrugs(i) = 0.0
    15601510      ENDDO
     
    15791529        rmu0 = -999.999
    15801530      ENDIF
     1531
     1532      fder = 0.
    15811533
    15821534      CALL clmain(dtime,itap,pctsrf,
     
    18871839c
    18881840      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
    19091842         falbe(i,is_sic) = alb_neig(i)*zfra + 0.6*(1.0-zfra)
    19101843         albsol(i) = falbe(i,is_oce) * pctsrf(i,is_oce)
     
    19131846     .             + falbe(i,is_sic) * pctsrf(i,is_sic)
    19141847      ENDDO
    1915 c      DO nsrf = 1, nbsrf
    1916 c        DO i = 1, klon
    1917 c           albsol(i) = albsol(i) + falbe(i,nsrf)*pctsrf(i,nsrf)
    1918 c        ENDDO
    1919 c      ENDDO
    19201848      CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
    19211849     e            (dist, rmu0, fract, co2_ppm, solaire,
     
    28092737     .      rlat, rlon, pctsrf, ftsol, ftsoil, deltat, fqsol, fsnow,
    28102738     .      falbe, fevap, rain_fall, snow_fall,
    2811      .      solsw, sollw,
     2739     .      solsw, sollw,fder,
    28122740     .      radsol,frugs,agesno,
    28132741     .      zmea,zstd,zsig,zgam,zthe,zpic,zval,rugoro,
Note: See TracChangeset for help on using the changeset viewer.