Changeset 3564


Ignore:
Timestamp:
Dec 18, 2024, 2:01:23 PM (4 days ago)
Author:
afalco
Message:

Pluto: add link to myphypluto in LMDZ.COMMON.
Removed sponge import in leapfrog_nogcm_pluto (not used).
AF

Location:
trunk
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/libf/dynphy_lonlat/phypluto/leapfrog_nogcm_pluto.F

    r3548 r3564  
    2222      use exner_milieu_m, only: exner_milieu
    2323      use cpdet_mod, only: cpdet,tpot2t,t2tpot
    24       use sponge_mod, only: callsponge,mode_sponge,sponge
    2524       use comuforc_h
    2625      USE comvert_mod, ONLY: ap,bp,pressure_exner,presnivs,
     
    3433      USE callkeys_mod
    3534      USE tracer_h, ONLY: igcm_n2,igcm_ch4_gas,igcm_co_gas,
    36      .                  igcm_prec_haze,igcm_haze 
     35     .                  igcm_prec_haze,igcm_haze
    3736
    3837
     
    8584
    8685! ADAPTATION GCM POUR CP(T)
    87       REAL temp(ip1jmp1,llm)                 ! temperature 
    88       REAL tsurpk(ip1jmp1,llm)               ! cpp*T/pk 
     86      REAL temp(ip1jmp1,llm)                 ! temperature
     87      REAL tsurpk(ip1jmp1,llm)               ! cpp*T/pk
    8988
    9089!     nogcm
     
    115114      INTEGER itau,itaufinp1,iav
    116115!      INTEGER  iday ! jour julien
    117       REAL       time 
     116      REAL       time
    118117
    119118      REAL  SSUM
     
    135134      data first/.true./
    136135      logical ok_sync
    137       parameter (ok_sync = .true.) 
     136      parameter (ok_sync = .true.)
    138137      logical physics
    139138
     
    144143      REAL :: flxw(ip1jmp1,llm)  ! flux de masse verticale
    145144
    146       REAL psmean                    ! pression moyenne 
     145      REAL psmean                    ! pression moyenne
    147146      REAL pqn2mean                 ! moyenne globale ps*qco
    148147      REAL pqch4mean                 ! moyenne globale ps*qch4
    149148      REAL pqcomean                 ! moyenne globale ps*qco
    150       REAL pqhazemean       
    151       REAL pqprechazemean             
     149      REAL pqhazemean
     150      REAL pqprechazemean
    152151      REAL qmean_ch4                    ! mass mean mixing ratio vap ch4
    153152      REAL qmean_co                    ! mass mean mixing ratio vap co
    154       REAL qmean_haze 
    155       REAL qmean_prechaze 
     153      REAL qmean_haze
     154      REAL qmean_prechaze
    156155      REAL pqch4(ip1jmp1)           ! average methane mass index : ps*qch4
    157156      REAL pqco(ip1jmp1)           ! average CO mass index : ps*q_co
    158       REAL pqhaze(ip1jmp1) 
    159       REAL pqprechaze(ip1jmp1) 
     157      REAL pqhaze(ip1jmp1)
     158      REAL pqprechaze(ip1jmp1)
    160159
    161160      REAL p0                        ! pression de reference
     
    167166c+jld variables test conservation energie
    168167      REAL ecin(ip1jmp1,llm),ecin0(ip1jmp1,llm)
    169 C     Tendance de la temp. potentiel d (theta)/ d t due a la 
     168C     Tendance de la temp. potentiel d (theta)/ d t due a la
    170169C     tansformation d'energie cinetique en energie thermique
    171170C     cree par la dissipation
     
    186185
    187186      logical , parameter :: flag_verif = .false.
    188      
     187
    189188      ! for CP(T)
    190189      real :: dtec
     
    214213      endif
    215214      itaufinp1 = itaufin +1
    216      
     215
    217216
    218217
     
    272271
    273272c------------------
    274 c     Preparing mixing of pressure and tracers in nogcm 
     273c     Preparing mixing of pressure and tracers in nogcm
    275274c     kpd=exp(-z/H)  Needed to define a reference pressure :
    276 c     P0=pmean/globalaverage(kpd) 
     275c     P0=pmean/globalaverage(kpd)
    277276c     thus P(i) = P0*exp(-z(i)/H) = P0*kpd(i)
    278277c     It is checked that globalaverage2d(Pi)=pmean
     
    281280      ENDDO
    282281      p00d=globaverage2d(kpd) ! mean pres at ref level
    283       tau_ps = tau_n2 ! constante de rappel for pressure  (s) 
     282      tau_ps = tau_n2 ! constante de rappel for pressure  (s)
    284283
    285284      PRINT*,'igcm_n2 = ',igcm_n2
     
    300299c   -----
    301300
    302       jD_cur = jD_ref + day_ini - day_ref +                             
    303      &          (itau+1)/day_step 
    304       jH_cur = jH_ref + start_time +                                   
    305      &          mod(itau+1,day_step)/float(day_step) 
     301      jD_cur = jD_ref + day_ini - day_ref +
     302     &          (itau+1)/day_step
     303      jH_cur = jH_ref + start_time +
     304     &          mod(itau+1,day_step)/float(day_step)
    306305      jD_cur = jD_cur + int(jH_cur)
    307306      jH_cur = jH_cur - int(jH_cur)
     
    330329      ! Purely Matsuno time stepping
    331330         IF( MOD(itau,iconser) .EQ.0.AND.  forward    ) conser = .TRUE.
    332    
    333          IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward 
     331
     332         IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward
    334333     s          .and. physics        ) apphys = .TRUE.
    335334      ELSE
    336          ! Leapfrog/Matsuno time stepping 
     335         ! Leapfrog/Matsuno time stepping
    337336           IF( MOD(itau   ,iconser) .EQ. 0  ) conser = .TRUE.
    338337           IF( MOD(itau+1,iphysiq).EQ.0.AND.physics) apphys=.TRUE.
     
    370369         CALL geopot  ( ip1jmp1, teta  , pk , pks,  phis  , phi   )
    371370
    372          jD_cur = jD_ref + day_ini - day_ref +                       
    373      &          (itau+1)/day_step 
     371         jD_cur = jD_ref + day_ini - day_ref +
     372     &          (itau+1)/day_step
    374373
    375374         ! AS: we make jD_cur to be pday
    376375         jD_cur = int(day_ini + itau/day_step)
    377376
    378          jH_cur = jH_ref + start_time +                               
    379      &          mod(itau+1,day_step)/float(day_step) 
    380          jH_cur = jH_ref + start_time +                               
     377         jH_cur = jH_ref + start_time +
     378     &          mod(itau+1,day_step)/float(day_step)
     379         jH_cur = jH_ref + start_time +
    381380     &          mod(itau,day_step)/float(day_step)
    382381         jD_cur = jD_cur + int(jH_cur)
     
    392391     $               dufi,dvfi,dtetafi,dqfi,dpfi  )
    393392
    394 c      ajout des tendances physiques 
     393c      ajout des tendances physiques
    395394c      ------------------------------
    396395
     
    401400c         CALL pression (ip1jmp1,ap,bp,ps,p)
    402401c         CALL massdair(p,masse)
    403    
     402
    404403         ! 1) Saving pressure and mass of N2 tracer in each mess (kg) before Horizontal mixing of pressure
    405404         DO ij=1,ip1jmp1
    406                oldps(ij)=ps(ij)             
     405               oldps(ij)=ps(ij)
    407406         ENDDO
    408          
     407
    409408         !DO l=1, llm
    410409         !  DO ij=1,ip1jmp1
     
    461460         ! 6) Horizontal redistribution of other tracers
    462461         ! intermediaire de calcul si methane or CO
    463          if ((methane).or.(carbox)) then 
     462         if ((methane).or.(carbox)) then
    464463              psmean= globaverage2d(ps)
    465464         endif
     
    537536       ENDIF ! of IF( apphys )
    538537
    539        
     538
    540539c   ********************************************************************
    541540c   ********************************************************************
     
    559558            ENDIF
    560559
    561             IF( itau. EQ. itaufinp1 ) then 
     560            IF( itau. EQ. itaufinp1 ) then
    562561              if (flag_verif) then
    563562                write(79,*) 'ucov',ucov
     
    585584                  iav=0
    586585               ENDIF
    587                
     586
    588587!              ! Ehouarn: re-compute geopotential for outputs
    589588               CALL geopot(ip1jmp1,teta,pk,pks,phis,phi)
     
    664663                        leapf =  .TRUE.
    665664                        dt  =  2.*dtvr
    666                         GO TO 2 
     665                        GO TO 2
    667666                   END IF ! of IF (forward)
    668667            ELSE
     
    697696
    698697               forward =  .FALSE.
    699                IF( itau. EQ. itaufinp1 ) then 
     698               IF( itau. EQ. itaufinp1 ) then
    700699                 abort_message = 'Simulation finished'
    701700                 call abort_gcm(modname,abort_message,0)
     
    707706        if (ok_iso_verif) then
    708707           call check_isotopes_seq(q,ip1jmp1,'leapfrog 1698')
    709         endif !if (ok_iso_verif) then 
     708        endif !if (ok_iso_verif) then
    710709
    711710              IF(MOD(itau,iperiod).EQ.0 .OR. itau.EQ.itaufin) THEN
     
    751750                endif
    752751
    753               ENDIF ! of IF(MOD(itau,iecri         ).EQ.0) 
     752              ENDIF ! of IF(MOD(itau,iecri         ).EQ.0)
    754753
    755754              IF(itau.EQ.itaufin) THEN
     
    805804         END DO
    806805       END DO
    807        
     806
    808807       DO i=1,iim
    809808         globaverage2d = globaverage2d + var(i,1)*aire(i,1)
Note: See TracChangeset for help on using the changeset viewer.