Changeset 403 for LMDZ.3.3/branches


Ignore:
Timestamp:
Oct 15, 2002, 4:28:41 PM (22 years ago)
Author:
lmdzadmin
Message:

Conservation de l'energie dans la dynamique (JLD) + diagnostics transports (FH)
IM/LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F

    r353 r403  
    126126      LOGICAL first
    127127      REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm)
     128c+jld variables test conservation energie
     129      REAL ecin(ip1jmp1,llm),ecin0(ip1jmp1,llm)
     130C     Tendance de la temp. potentiel d (theta)/ d t due a la
     131C     tansformation d'energie cinetique en energie thermique
     132C     cree par la dissipation
     133      REAL dhecdt(ip1jmp1,llm)
     134      REAL vcont(ip1jm,llm),ucont(ip1jmp1,llm)
     135      REAL      d_h_vcol, d_qt, d_qw, d_ql, d_ec
     136      CHARACTER*15 ztit
     137      INTEGER   ip_ebil  ! PRINT level for energy conserv. diag.
     138      SAVE      ip_ebil
     139      DATA      ip_ebil/1/
     140c-jld
    128141
    129142      LOGICAL offline  ! Controle du stockage ds "fluxmass"
     
    274287      CALL inidissip( lstardis, nitergdiv, nitergrot, niterh   ,
    275288     *                tetagdiv, tetagrot , tetatemp              )
     289c+jld
     290C     initialisation constantes thermo utilisees dans diagedyn
     291      IF (ip_ebil.ge.1 ) THEN
     292        CALL suphec
     293      ENDIF
     294c-jld
    276295c
    277296
     
    327346
    328347   1  CONTINUE
     348
     349
    329350
    330351      if (ok_nudge) then
     
    475496c rajout debug
    476497c       lafin = .true.
    477 
     498c+jld
     499      IF (ip_ebil.ge.1 ) THEN
     500          ztit='bil dyn'
     501          CALL diagedyn(ztit,2,1,1,dtphys
     502     e  , ucov    , vcov , ps, p ,pk , teta , q(:,:,1), q(:,:,2),aire
     503     s  , d_h_vcol , d_qt, d_qw, d_ql, d_ec)
     504      ENDIF
     505c-jld
    478506        CALL calfis( nqmx, lafin ,rdayvrai,rday_ecri,time  ,
    479507     $                 ucov,vcov,teta,q,masse,ps,p,pk,phis,phi ,
     
    486514     $                 dufi, dvfi, dhfi , dqfi ,dpfi  )
    487515c
     516c+jld
     517      IF (ip_ebil.ge.1 ) THEN
     518          ztit='bil phys'
     519          CALL diagedyn(ztit,2,1,1,dtphys
     520     e  , ucov    , vcov , ps, p ,pk , teta , q(:,:,1), q(:,:,2),aire
     521     s  , d_h_vcol , d_qt, d_qw, d_ql, d_ec)
     522      ENDIF
     523c-jld
    488524       ENDIF
    489525
     
    498534
    499535      IF(apdiss) THEN
     536c+jld
     537      IF (ip_ebil.ge.2 ) THEN
     538          ztit='avant dissip'
     539          CALL diagedyn(ztit,2,2,2,dtvr
     540     e  , ucov    , vcov , ps, p ,pk , teta , q(:,:,1), q(:,:,2),aire
     541     s  , d_h_vcol , d_qt, d_qw, d_ql, d_ec)
     542      ENDIF
     543        CALL covcont  ( llm    , ucov    , vcov , ucont, vcont        )
     544        CALL enercin ( vcov   , ucov  , vcont     , ucont  , ecin0  )
     545c-jld
    500546
    501547         CALL dissip(vcov,ucov,teta,p,dvdis,dudis,dhdis)
     
    503549         CALL addit( ijp1llm,ucov ,dudis,ucov )
    504550         CALL addit( ijmllm ,vcov ,dvdis,vcov )
     551c+jld
     552        CALL covcont  ( llm    , ucov    , vcov , ucont, vcont        )
     553        CALL enercin ( vcov   , ucov  , vcont     , ucont  , ecin  )
     554C
     555C       On rajoute la tendance due a la transform. Ec -> E therm. cree
     556C       lors de la dissipation
     557        DO l  =  1, llm
     558          DO    ij     = 1, ip1jmp1
     559            dhecdt(ij,l)= (ecin0(ij,l)-ecin(ij,l))/ pk(ij,l)
     560            dhdis(ij,l) = dhdis(ij,l) + dhecdt(ij,l)
     561          ENDDO
     562        ENDDO
     563c-jld
    505564         CALL addit( ijp1llm,teta ,dhdis,teta )
    506 
     565c+jld
     566c
     567         IF (ip_ebil.ge.2 ) THEN
     568             ztit='apres dissip'
     569             CALL diagedyn(ztit,2,2,2,dtdiss
     570     e  , ucov    , vcov , ps, p ,pk , teta , q(:,:,1), q(:,:,2),aire
     571     s  , d_h_vcol , d_qt, d_qw, d_ql, d_ec)
     572         ENDIF
     573c-jld
    507574
    508575c    .......        P. Le Van (  ajout  le 17/04/96  )   ...........
     
    570637
    571638            IF( itau. EQ. itaufinp1 ) then 
     639
    572640              abort_message = 'Simulation finished'
    573641              call abort_gcm(modname,abort_message,0)
     
    585653               CALL writedynav(histaveid, nqmx, itau,vcov ,
    586654     ,                          ucov,teta,pk,phi,q,masse,ps,phis)
     655cccIM cf. FH
     656               call bilan_dyn (2,dtvr*iperiod,dtvr*day_step*periodav,
     657     ,           ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
     658
    587659            ENDIF
    588660
     
    676748               CALL writedynav(histaveid, nqmx, itau,vcov ,
    677749     ,                          ucov,teta,pk,phi,q,masse,ps,phis)
     750cccIM cf. FH
     751               call bilan_dyn (2,dtvr*iperiod,dtvr*day_step*periodav,
     752     ,           ps,masse,pk,pbaru,pbarv,teta,phi,ucov,vcov,q)
    678753
    679754            ENDIF
Note: See TracChangeset for help on using the changeset viewer.