Changeset 495 for trunk


Ignore:
Timestamp:
Jan 10, 2012, 5:59:10 PM (13 years ago)
Author:
slebonnois
Message:

Mise a jour physique Titan, ajout des forces de marees (dans la dynamique, sous flag titan). SL.

Location:
trunk
Files:
2 added
28 edited

Legend:

Unmodified
Added
Removed
  • trunk/DOC/000-USERS

    r175 r495  
    2828Jeremie Burgalat                GSMA [URCA]                     01 - 06 - 2011                  Titan GCM
    2929Pascal Rannou                   GSMA [URCA]                     01 - 06 - 2011                  Titan GCM
     30Helen Parish                    UCLA                            01 - 10 - 2011                  Venus GCM
     31David Luz                       CAAUL [Obs. Lisbonne]           01 - 01 - 2012                  Venus GCM
     32Sarah Camberlain                CAAUL [Obs. Lisbonne]           01 - 01 - 2012                  Venus GCM
     33
  • trunk/LMDZ.COMMON/libf/dyn3d/conf_gcm.F

    r492 r495  
    338338       CALL getin('mode_top_bound',mode_top_bound)
    339339       CALL getin('tau_top_bound',tau_top_bound)
     340
     341! FOR TITAN: tidal forces
     342       tidal=.TRUE.
     343       CALL getin('tidal',tidal)
    340344
    341345!Config  Key  = coefdis
  • trunk/LMDZ.COMMON/libf/dyn3d/leapfrog.F

    r492 r495  
    106106      REAL dtetatop(ip1jmp1,llm)
    107107      REAL dqtop(ip1jmp1,llm,nqtot),dptop(ip1jmp1)
     108
     109c   TITAN : tendances due au forces de marees */s
     110      REAL dvtidal(ip1jm,llm),dutidal(ip1jmp1,llm)
    108111
    109112c   tendances physiques */s
     
    396399     $              finvmaold                                    )
    397400
     401       IF ((planet_type.eq.titan).and.(tidal)) then
     402c-----------------------------------------------------------------------
     403c   Marées gravitationnelles causées par Saturne
     404c   B. Charnay (28/10/2010)
     405c   ----------------------------------------------------------
     406            CALL tidal_forces(rdaym_ini, dutidal, dvtidal)
     407            ucov=ucov+dutidal*dt
     408            vcov=vcov+dvtidal*dt
     409       ENDIF
    398410
    399411c .P.Le Van (26/04/94  ajout de  finvpold dans l'appel d'integrd)
  • trunk/LMDZ.COMMON/libf/dyn3d/logic.h

    r127 r495  
    1010      COMMON/logicl/ purmats,forward,leapf,apphys,                      &
    1111     &  statcl,conser,apdiss,apdelq,saison,ecripar,fxyhypb,ysinus       &
    12      &  ,read_start,ok_guide,ok_strato,ok_gradsfile                     &
     12     &  ,read_start,ok_guide,ok_strato,tidal,ok_gradsfile               &
    1313     &  ,ok_limit,ok_etat0,grilles_gcm_netcdf,hybrid
    1414
     
    1717      LOGICAL purmats,forward,leapf,apphys,statcl,conser,               &
    1818     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus                      &
    19      &  ,read_start,ok_guide,ok_strato,ok_gradsfile                     &
     19     &  ,read_start,ok_guide,ok_strato,tidal,ok_gradsfile               &
    2020     &  ,ok_limit,ok_etat0,grilles_gcm_netcdf
    2121      logical hybrid ! vertical coordinate is hybrid if true (sigma otherwise)
  • trunk/LMDZ.COMMON/libf/dyn3dpar/conf_gcm.F

    r492 r495  
    352352       CALL getin('tau_top_bound',tau_top_bound)
    353353
    354 !
     354! FOR TITAN: tidal forces
     355       tidal=.TRUE.
     356       CALL getin('tidal',tidal)
     357
    355358!Config  Key  = coefdis
    356359!Config  Desc = coefficient pour gamdissip
  • trunk/LMDZ.COMMON/libf/dyn3dpar/leapfrog_p.F

    r492 r495  
    117117      REAL,SAVE :: dptop(ip1jmp1)
    118118      REAL,DIMENSION(:,:,:),ALLOCATABLE,SAVE :: dqtop
     119
     120c   TITAN : tendances due au forces de marees */s
     121      REAL,SAVE :: dvtidal(ip1jm,llm),dutidal(ip1jmp1,llm)
    119122
    120123c   variables pour le fichier histoire
     
    696699     $              finvmaold                                    )
    697700
     701       IF ((planet_type.eq.titan).and.(tidal)) then
     702c-----------------------------------------------------------------------
     703c   Marées gravitationnelles causées par Saturne
     704c   B. Charnay (28/10/2010)
     705c   ----------------------------------------------------------
     706            CALL tidal_forces(rdaym_ini, dutidal, dvtidal)
     707            ucov=ucov+dutidal*dt
     708            vcov=vcov+dvtidal*dt
     709       ENDIF
     710
    698711!       CALL FTRACE_REGION_END("integrd")
    699712c$OMP BARRIER
  • trunk/LMDZ.COMMON/libf/dyn3dpar/logic.h

    r127 r495  
    1010      COMMON/logicl/ purmats,forward,leapf,apphys,                      &
    1111     &  statcl,conser,apdiss,apdelq,saison,ecripar,fxyhypb,ysinus       &
    12      &  ,read_start,ok_guide,ok_strato,ok_gradsfile                     &
     12     &  ,read_start,ok_guide,ok_strato,tidal,ok_gradsfile               &
    1313     &  ,ok_limit,ok_etat0,grilles_gcm_netcdf,hybrid
    1414
     
    1717      LOGICAL purmats,forward,leapf,apphys,statcl,conser,               &
    1818     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus                      &
    19      &  ,read_start,ok_guide,ok_strato,ok_gradsfile                     &
     19     &  ,read_start,ok_guide,ok_strato,tidal,ok_gradsfile               &
    2020     &  ,ok_limit,ok_etat0,grilles_gcm_netcdf
    2121      logical hybrid ! vertical coordinate is hybrid if true (sigma otherwise)
  • trunk/LMDZ.TITAN/deftank/gcm.def

    r134 r495  
    6363#  Coefficient pour la couche eponge (valeur derniere couche)
    6464tau_top_bound=4.e-5
    65 #
     65##  Maree gravitationnelle  ou non                 
     66tidal=y
     67
    6668## longitude en degres du centre du zoom                                 
    6769clon=0.
  • trunk/LMDZ.TITAN/deftank/physiq.def

    r175 r495  
    6868ok_kzmin=n
    6969#
    70 inertie=340.
     70inertie=2000.
     71emis=0.95
    7172#
    7273# parametres convection seche
  • trunk/LMDZ.TITAN/libf/phytitan/cld.F

    r3 r495  
    1111      COMMON /CLOUD/ RADCLD(NLAYER), XNCLD(NLAYER)
    1212     & , RCLDI(NSPECI), XICLDI(NSPECI), RCLDV(NSPECV), XICLDV(NSPECV)
    13       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     13      COMMON /PLANT/ CSUBP,F0PI
    1414      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    1515      COMMON /CONST/RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/clesphys.h

    r175 r495  
    2020
    2121! Parametres surface:
    22        REAL    inertie
     22       REAL    inertie,emis
    2323
    2424! Parametres Chimie:
  • trunk/LMDZ.TITAN/libf/phytitan/clmain.F

    r102 r495  
    811811         zx_alf2(i) = 1.0 - zx_alf1(i)
    812812         zx_coef(i,1) = coef(i,1)
    813      .                 * (1.0+SQRT(u1lay(i)**2+v1lay(i)**2))
     813     .                 * SQRT(u1lay(i)**2+v1lay(i)**2)
    814814     .                 * pplay(i,1)/(RD*t(i,1))
    815815         zx_coef(i,1) = zx_coef(i,1) * dtime*RG
  • trunk/LMDZ.TITAN/libf/phytitan/conf_phys.F90

    r474 r495  
    272272!Config Key  = inertie
    273273!Config Desc =
    274 !Config Def  = 340.
    275 !Config Help =
    276 !
    277   inertie = 340.
     274!Config Def  = 2000.
     275!Config Help =
     276!
     277  inertie = 2000.
    278278  call getin('inertie',inertie)
     279!
     280!Config Key  = emis
     281!Config Desc =
     282!Config Def  = 0.95
     283!Config Help =
     284!
     285  emis = 0.95
     286  call getin('emis',emis)
    279287!
    280288!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    467475  write(numout,*)' ok_kzmin = ',ok_kzmin
    468476  write(numout,*)' inertie = ', inertie
     477  write(numout,*)' emis = ', emis
    469478  write(numout,*)' iflag_ajs = ', iflag_ajs
    470479  write(numout,*)' chimi = ', chimi
  • trunk/LMDZ.TITAN/libf/phytitan/cooling.F

    r306 r495  
    4646c     spectral ranges. This common is initialized by radtitan.
    4747c   
    48 c     COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     48c     COMMON /PLANT/ CSUBP,F0PI
    4949c     This common is initialized by tgmdat.
    5050c
     
    8484      COMMON /IRTAUS/ dtaui,dtauip
    8585
    86       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
    87       REAL CSUBP,RSFI,RSFV,F0PI
     86      COMMON /PLANT/ CSUBP,F0PI
     87      REAL CSUBP,F0PI
    8888
    8989c   Local:
     
    237237          ENDDO
    238238c          BSURF=PLNCK( WAVEN, TEMP(ig,NL), DW)
    239            BSURF=.2*PLNCK*(1-RSFI)
    240         FUPI(ig,NL)=BSURF * 2.*RPI*UBARI + RSFI*FDI(ig,NL)
    241         FUPIS(ig,NL,K)=BSURF*2.*RPI*UBARI+RSFI*FDIS(ig,NL,K)
     239           BSURF=.2*PLNCK*emis
     240        FUPI(ig,NL)   =BSURF*2.*RPI*UBARI+(1-emis)*FDI(ig,NL)
     241        FUPIS(ig,NL,K)=BSURF*2.*RPI*UBARI+(1-emis)*FDIS(ig,NL,K)
    2422422310    CONTINUE
    243243c     write(*,*)
  • trunk/LMDZ.TITAN/libf/phytitan/heating.F

    r175 r495  
    1        SUBROUTINE heating(dist,rmu0,fract,sol_htg,swnet,icld)
     1       SUBROUTINE heating(dist,rmu0,fract,falbe,sol_htg,swnet,icld)
    22
    33
     
    1616c rmu0-----input-R- cosinus de l'angle zenithal
    1717c fract----input-R- duree d'ensoleillement normalisee
     18c falbe----input-R- surface albedo
    1819c icld-----input-I- calcul avec nuages.
    1920c        p(klon,nl)    pressure (level)
     
    4647
    4748
    48       real dist, rmu0(klon), fract(klon)
     49      real dist, rmu0(klon), fract(klon), falbe(klon)
    4950      integer icld
    5051
     
    6566      REAL FNETV(ngrid,NLEVEL),FUPV(ngrid,NLEVEL,NSPECV) 
    6667      REAL FDV(ngrid,NLEVEL,NSPECV),FMNETV(ngrid,NLEVEL)
    67       REAL CSUBP,RSFI,RSFV,F0PI
     68      REAL CSUBP,F0PI
    6869
    6970      COMMON /UBARED/ UBARI,UBARV,UBAR0
     
    7980     &               FMNETV
    8081
    81       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     82      COMMON /PLANT/ CSUBP,F0PI
    8283
    8384
     
    9899               ubar0=rmu0(ig)
    99100
    100                CALL sfluxv(iprint,ig,dist,icld)           ! #3
     101               CALL sfluxv(iprint,ig,dist,falbe,icld)      ! #3
    101102
    102103               fnetv(ig,:) = fnetv(ig,:) *fract(ig)   ! >0 vers le haut
  • trunk/LMDZ.TITAN/libf/phytitan/interface_surf.F90

    r97 r495  
    256256
    257257    zx_coef(i) = coef1lay(i) &
    258      & * (1.0+SQRT(u1lay(i)**2+v1lay(i)**2)) &
     258     & * SQRT(u1lay(i)**2+v1lay(i)**2) &
    259259     & * p1lay(i)/(RD*t1lay(i))
    260260
  • trunk/LMDZ.TITAN/libf/phytitan/optci.F

    r306 r495  
    6666      COMMON /IRTAUS/ DTAUP,DTAUPP
    6767
    68       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     68      COMMON /PLANT/ CSUBP,F0PI
    6969      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    7070      COMMON /CONST/RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/optci_1pt.F

    r175 r495  
    3838     &                DWNI(NSPECI), WLNI(NSPECI)
    3939
    40       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     40      COMMON /PLANT/ CSUBP,F0PI
    4141      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    4242      COMMON /CONST/RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/optci_1pt_2.F

    r306 r495  
    3939     &                DWNI(NSPECI), WLNI(NSPECI)
    4040
    41       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     41      COMMON /PLANT/ CSUBP,F0PI
    4242      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    4343      COMMON /CONST/RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/optcv.F

    r175 r495  
    6161     &               ,DWNV(NSPECV),WLNV(NSPECV)
    6262
    63       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     63      COMMON /PLANT/ CSUBP,F0PI
    6464      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    6565      COMMON /CONST/ RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/optcv_1pt.F

    r175 r495  
    3939     &               ,DWNV(NSPECV),WLNV(NSPECV)
    4040
    41       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     41      COMMON /PLANT/ CSUBP,F0PI
    4242      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    4343      COMMON /CONST/ RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/optcv_1pt_2.F

    r306 r495  
    3838     &               ,DWNV(NSPECV),WLNV(NSPECV)
    3939
    40       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     40      COMMON /PLANT/ CSUBP,F0PI
    4141      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    4242      COMMON /CONST/ RGAS,RHOP,PI,SIGMA
  • trunk/LMDZ.TITAN/libf/phytitan/physiq.F

    r306 r495  
    413413
    414414      COMMON /TAUD/   TAUHID,TAUCID,TAUGID,TAUHVD,TAUCVD,TAUGVD
    415       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
    416       REAL CSUBP,RSFI,RSFV,F0PI
     415      COMMON /PLANT/ CSUBP,F0PI
     416      REAL CSUBP,F0PI
    417417
    418418* common relatifs au nuages
     
    995995c
    996996      DO i = 1, klon
    997             dlw(i) = - 4.0*(1-RSFI)*RSIGMA*ftsol(i)**3
     997            dlw(i) = - 4.0*emis*RSIGMA*ftsol(i)**3
    998998      ENDDO
    999999
     
    12121212c      call begintime(tt0)
    12131213      CALL radlwsw
    1214      e            (dist, rmu0, fract, dtimerad, zzlev,
     1214     e            (dist, rmu0, fract, falbe, dtimerad, zzlev,
    12151215     e             paprs, pplay,ftsol, t_seri, nqmax, nmicro,
    12161216     c             tr_seri, qaer,
  • trunk/LMDZ.TITAN/libf/phytitan/radlwsw.F

    r175 r495  
    1       SUBROUTINE radlwsw(dist, rmu0, fract, dtimerad, zzlev,
     1      SUBROUTINE radlwsw(dist, rmu0, fract, falbe, dtimerad, zzlev,
    22     .                  paprs, pplay,tsol, pt, nq, nmicro, pq,
    33     .                  qaer,
     
    1414c rmu0-----input-R- cosinus de l'angle zenithal
    1515c fract----input-R- duree d'ensoleillement normalisee
     16c falbe----input-R- surface albedo
    1617c dtimerad-input-R- intervalle de temps du radiatif
    1718c zzlev----input-R- altitudes des inter-couches (m)
     
    4849c ARGUMENTS
    4950      INTEGER nq,nmicro
    50       real rmu0(klon), fract(klon), dist, dtimerad
     51      real rmu0(klon), fract(klon), falbe(klon), dist, dtimerad
    5152c
    5253      real zzlev(klon,klev+1),paprs(klon,klev+1), pplay(klon,klev)
     
    129130       IF (clouds.eq.1) THEN
    130131         ICLD = 1   ! colonne avec nuages
    131          CALL heating(dist,rmu0,fract,zheatc,zswnetc,icld)
     132         CALL heating(dist,rmu0,fract,falbe,zheatc,zswnetc,icld)
    132133       ELSE
    133134         zheatc  = 0.
     
    135136       ENDIF
    136137       ICLD = 0   ! colonne sans nuages
    137        CALL heating(dist,rmu0,fract,zheatp,zswnetp,icld)
     138       CALL heating(dist,rmu0,fract,falbe,zheatp,zswnetp,icld)
    138139
    139140c inversion de l'axe vertical
  • trunk/LMDZ.TITAN/libf/phytitan/sfluxv.F

    r175 r495  
    1       SUBROUTINE SFLUXV(IPRINT,IG,dist_sol,icld)
     1      SUBROUTINE SFLUXV(IPRINT,IG,dist_sol,falbe,icld)
    22
    33      use dimphy
     
    1010      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
    1111c
    12       INTEGER NLAYER,NLEVEL,NSPECV,NSPC1V,icld
     12      INTEGER IG,IPRINT,icld
     13      real dist_sol,falbe(ngrid)
     14
     15      INTEGER NLAYER,NLEVEL,NSPECV,NSPC1V
    1316      PARAMETER (NLAYER=llm,NLEVEL=NLAYER+1)
    1417      PARAMETER (NSPECV=24,NSPC1V=25)
    15       INTEGER IG,IPRINT,NT,NTERM(NSPECV),J,K
     18      INTEGER NT,NTERM(NSPECV),J,K
    1619
    1720      REAL FUW(NLEVEL),FDW(NLEVEL)
     
    3538     &      FMNETV(ngrid,NLEVEL),
    3639     &      FMUPV(NLEVEL),FMDV(NLEVEL)
    37       REAL CSUBP,RSFI,RSFV,F0PI
     40      REAL CSUBP,F0PI
    3841      REAL UBARI,UBARV,UBAR0
    39 
    40       real dist_sol
    4142
    4243      COMMON /VISGAS/SOLARF,NTERM,PEXPON,
     
    6061     &               FMNETV
    6162
    62       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     63      COMMON /PLANT/ CSUBP,F0PI
    6364      COMMON /UBARED/ UBARI,UBARV,UBAR0
    6465
     
    9596      DO 912 NT=1,NTERM(K)
    9697      IF (ICLD.eq.1) THEN
    97         BSURF=0.+ RSFV*UBAR0*F0PI*EXP(-TAUV(ig,NLEVEL,K,NT)/UBAR0)
     98        BSURF=0.+ falbe(ig)*UBAR0*F0PI*EXP(-TAUV(ig,NLEVEL,K,NT)/UBAR0)
    9899      ELSE
    99         BSURF=0.+ RSFV*UBAR0*F0PI*EXP(-TAUVP(ig,NLEVEL,K,NT)/UBAR0)
     100        BSURF=0.+ falbe(ig)*UBAR0*F0PI*EXP(-TAUVP(ig,NLEVEL,K,NT)/UBAR0)
    100101      ENDIF
    101102C
     
    139140c        write(*,*) (CO0(J),J=1,NLAYER)
    140141c        print*,'UBAR0 ',UBAR0
    141 c      print*,NLEVEL,WNOV(K),F0PI,RSFV,BTOP,BSURF
     142c      print*,NLEVEL,WNOV(K),F0PI,falbe(ig),BTOP,BSURF
    142143       FUW = 0.0
    143144       FDW = 0.0
     
    146147       
    147148      CALL GFLUXV(NLEVEL,WNOV(K),DT0,T0,
    148      & WB0,CO0,F0PI,RSFV,BTOP,BSURF,FUW,FDW,FMUPV,
     149     & WB0,CO0,F0PI,falbe(ig),BTOP,BSURF,FUW,FDW,FMUPV,
    149150     &    FMDV,IPRINT)
    150151c       PRINT*,'sortie gfluxv #: ',ig,K
  • trunk/LMDZ.TITAN/libf/phytitan/tgmdat.F

    r306 r495  
    44      COMMON /UBARED/ UBARI,UBARV,UBAR0
    55      COMMON /LAPSE/ DTDP(NLAYER),CONVEQ
    6       COMMON /PLANT/ CSUBP,RSFI,RSFV,F0PI
     6      COMMON /PLANT/ CSUBP,F0PI
    77      COMMON /ADJUST/ RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC,RCLOUD,FARGON
    88      COMMON /CONST/RGAS,RHOP,PI,SIGMA
     
    2929C CONSTANT MUST BE CHANGED
    3030      DATA RHOP/1.E4/
    31 C RSF IS THE SURFACE REFLECTANCE FOR VIS AND IR
    32       DATA RSFV,RSFI/0.15,0.05/
    3331C FOPI IS THE ACTUAL SOLAR FLUX IN ERGS/CM2
    3432      DATA F0PI/1.5E4/
  • trunk/LMDZ.TITAN/libf/phytitan/ustarhb.F

    r102 r495  
    4141        zxu = u(i,1)*zx_alf1+u(i,2)*zx_alf2
    4242        zxv = v(i,1)*zx_alf1+v(i,2)*zx_alf2
    43         zxmod = 1.0+SQRT(zxu**2+zxv**2)
     43        zxmod = SQRT(zxu**2+zxv**2)
    4444        taux = zxu *zxmod*cd_m(i)
    4545        tauy = zxv *zxmod*cd_m(i)
  • trunk/LMDZ.VENUS/deftank/gcm.def

    r134 r495  
    4545## Dissipation horizontale
    4646dissip_fac_mid=2.
    47 dissip_fac_up=2.
     47dissip_fac_up=10.
    4848# deltaz et hdelta en km
    4949dissip_deltaz=10.
Note: See TracChangeset for help on using the changeset viewer.