Ignore:
Timestamp:
Sep 17, 2009, 4:59:40 PM (15 years ago)
Author:
Laurent Fairhead
Message:

Le calcul de ratqs faisait osciller le modele et donnait une solution
asymptotique bidon et dépendant fortement du pas de temps.

Location:
LMDZ4/branches/LMDZ4-dev/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90

    r1239 r1244  
    1111                       fact_cldcon, facttemps,ok_newmicro,iflag_radia,&
    1212                       iflag_cldcon, &
    13                        iflag_ratqs,ratqsbas,ratqshaut, &
     13                       iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs, &
    1414                       ok_ade, ok_aie, aerosol_couple, &
    1515                       flag_aerosol, new_aod, &
     
    6565  LOGICAL              :: new_aod
    6666  REAL                 :: bl95_b0, bl95_b1
    67   real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut
     67  real                 :: fact_cldcon, facttemps,ratqsbas,ratqshaut,tau_ratqs
    6868  integer              :: iflag_cldcon
    6969  integer              :: iflag_ratqs
     
    8181  real,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
    8282  real,SAVE           :: ratqshaut_omp
     83  real,SAVE           :: tau_ratqs_omp
    8384  integer,SAVE        :: iflag_radia_omp
    8485  integer,SAVE        :: iflag_rrtm_omp
     
    729730  ratqshaut_omp = 0.3
    730731  call getin('ratqshaut',ratqshaut_omp)
     732
     733!Config Key  = tau_ratqs
     734!Config Desc = 
     735!Config Def  = 1800.
     736!Config Help =
     737!
     738  tau_ratqs_omp = 1800.
     739  call getin('tau_ratqs',tau_ratqs_omp)
    731740
    732741!
     
    13751384    ratqsbas = ratqsbas_omp
    13761385    ratqshaut = ratqshaut_omp
     1386    tau_ratqs = tau_ratqs_omp
     1387
    13771388    iflag_radia = iflag_radia_omp
    13781389    iflag_rrtm = iflag_rrtm_omp
     
    15001511  write(numout,*)' ratqsbas = ',ratqsbas
    15011512  write(numout,*)' ratqshaut = ',ratqshaut
     1513  write(numout,*)' tau_ratqs = ',tau_ratqs
    15021514  write(numout,*)' top_height = ',top_height
    15031515  write(numout,*)' overlap = ',overlap
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/physiq.F

    r1237 r1244  
    878878c
    879879      REAL ratqss(klon,klev),ratqsc(klon,klev)
    880       real ratqsbas,ratqshaut
    881       save ratqsbas,ratqshaut
    882 c$OMP THREADPRIVATE(ratqsbas,ratqshaut)
     880      real ratqsbas,ratqshaut,tau_ratqs
     881      save ratqsbas,ratqshaut,tau_ratqs
     882c$OMP THREADPRIVATE(ratqsbas,ratqshaut,tau_ratqs)
    883883      real zpt_conv(klon,klev)
    884884
     
    12481248     .                  solarlong0,seuil_inversion,
    12491249     .                  fact_cldcon, facttemps,ok_newmicro,iflag_radia,
    1250      .                  iflag_cldcon,iflag_ratqs,ratqsbas,ratqshaut,
     1250     .         iflag_cldcon,iflag_ratqs,ratqsbas,ratqshaut,tau_ratqs,
    12511251     .                  ok_ade, ok_aie, aerosol_couple,
    12521252     .                  flag_aerosol, new_aod,
     
    25302530         enddo
    25312531
    2532 !   les ratqs sont une conbinaison de ratqss et ratqsc
    2533 !   1800s, en dur pour le moment, est le temps de
    2534 !   relaxation des ratqs
    2535 
    2536          facteur=exp(-pdtphys/1800.)
    2537 
    2538          print*,'WARNING ratqs a revoir '
     2532!   les ratqs sont une combinaison de ratqss et ratqsc
     2533       print*,'PHYLMD NOUVEAU TAU_RATQS ',tau_ratqs
     2534
     2535         if (tau_ratqs>1.e-10) then
     2536            facteur=exp(-pdtphys/tau_ratqs)
     2537         else
     2538            facteur=0.
     2539         endif
    25392540         ratqs(:,:)=ratqsc(:,:)*(1.-facteur)+ratqs(:,:)*facteur
    2540          ratqs(:,:)=sqrt(ratqs(:,:)**2+ratqss(:,:)**2)
    2541 
     2541!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2542! FH 22/09/2009
     2543! La ligne ci-dessous faisait osciller le modele et donnait une solution
     2544! assymptotique bidon et dépendant fortement du pas de temps.
     2545!        ratqs(:,:)=sqrt(ratqs(:,:)**2+ratqss(:,:)**2)
     2546!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     2547         ratqs(:,:)=max(ratqs(:,:),ratqss(:,:))
    25422548      else
    25432549!   on ne prend que le ratqs stable pour fisrtilp
Note: See TracChangeset for help on using the changeset viewer.