Changeset 1593


Ignore:
Timestamp:
Sep 9, 2016, 4:04:54 PM (8 years ago)
Author:
emillour
Message:

Common dynamics:

  • some cleanup around unused or unecessary parameters in the dynamics (ecritphy, grireg and physic) to harmonize with LMDZ5 (Earth dyn core).
  • associated changes in LMDZ.MARS and LMDZ.GENERIC

EM

Location:
trunk
Files:
2 deleted
18 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/conf_gcm.F90

    r1572 r1593  
    44SUBROUTINE conf_gcm( tapedef, etatinit )
    55
    6 USE control_mod
    76#ifdef CPP_IOIPSL
    87  use IOIPSL
     
    1110  use ioipsl_getincom
    1211#endif
     12  USE control_mod, ONLY: anneeref, config_inca, day_step, dayref, &
     13                         dissip_period, fractday, iapp_tracvl, &
     14                         iconser, iecri, ip_ebil_dyn, iperiod, &
     15                         iphysiq, less1day, nday, ndynstep, nsplit_phys, &
     16                         offline, ok_dyn_ave, ok_dyn_ins, ok_dynzon, &
     17                         output_grads_dyn, periodav, planet_type, &
     18                         raz_date, resetvarc, starttime, timestart
    1319  USE infotrac, ONLY : type_trac
    1420  use assert_m, only: assert
  • trunk/LMDZ.COMMON/libf/dyn3d/logic_mod.F90

    r1422 r1593  
    66     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus                      &
    77     &  ,read_start,ok_guide,ok_strato,tidal,ok_gradsfile               &
    8      &  ,ok_limit,ok_etat0,physic,grireg
     8     &  ,ok_limit,ok_etat0
    99      logical hybrid ! vertical coordinate is hybrid if true (sigma otherwise)
    1010                     ! (only used if disvert_type==2)
  • trunk/LMDZ.COMMON/libf/dyn3d_common/control_mod.F90

    r1403 r1593  
    4545                           ! specify number of dynamical steps to run
    4646
    47   integer,save :: ecritphy ! (Mars/generic) output (writediagfi) every
     47!  integer,save :: ecritphy ! (Mars/generic) output (writediagfi) every
    4848                           ! ecritphy dynamical steps
    4949  integer,save :: ecritstart ! (Mars) output data in "start.nc" every
  • trunk/LMDZ.COMMON/libf/dyn3dpar/gcm.F

    r1549 r1593  
    578578c$OMP1 COPYIN(purmats,forward,leapf,apphys,statcl,conser,apdiss,apdelq)
    579579c$OMP1 COPYIN(saison,ecripar,fxyhypb,ysinus,read_start,ok_guide)
    580 c$OMP1 COPYIN(ok_strato,tidal,ok_gradsfile,ok_limit,ok_etat0,physic)
    581 c$OMP1 COPYIN(grireg,iflag_phys,iflag_trac)
     580c$OMP1 COPYIN(ok_strato,tidal,ok_gradsfile,ok_limit,ok_etat0)
     581c$OMP1 COPYIN(iflag_phys,iflag_trac)
    582582
    583583
  • trunk/LMDZ.COMMON/libf/dyn3dpar/logic_mod.F90

    r1422 r1593  
    66     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus                      &
    77     &  ,read_start,ok_guide,ok_strato,tidal,ok_gradsfile               &
    8      &  ,ok_limit,ok_etat0,physic,grireg
     8     &  ,ok_limit,ok_etat0
    99      logical hybrid ! vertical coordinate is hybrid if true (sigma otherwise)
    1010                     ! (only used if disvert_type==2)
     
    1616  !$OMP     apdiss,apdelq,saison,ecripar,fxyhypb,ysinus,              &
    1717  !$OMP     read_start,ok_guide,ok_strato,tidal,ok_gradsfile,         &
    18   !$OMP     ok_limit,ok_etat0,physic,grireg)
     18  !$OMP     ok_limit,ok_etat0)
    1919!$OMP THREADPRIVATE(iflag_phys,iflag_trac)
    2020
  • trunk/LMDZ.GENERIC/README

    r1589 r1593  
    12471247- fix newstart which was broken due to recent updates of the physics/dynamics
    12481248  interface.
     1249
     1250== 09/09/2016 == EM
     1251- Some code cleanup (and harmonization with LMDZ.COMMON): remove "ecritphy"
     1252  from the dynamics (since it is read/used in the physics) and remove
     1253  "grireg" (unused) and "physic" (use iflag_phys instead) parameters from
     1254  the dynamics.
  • trunk/LMDZ.GENERIC/libf/dyn3d/control_mod.F90

    r1416 r1593  
    1212  integer,save :: anneeref ! reference year # ! not used
    1313  real,save :: periodav
    14   integer,save :: ecritphy ! output data in "diagfi.nc" every ecritphy dynamical steps
     14!  integer,save :: ecritphy ! output data in "diagfi.nc" every ecritphy dynamical steps
    1515  character(len=10),save :: planet_type ! planet type ('earth','mars',...)
    1616  character(len=4),save :: config_inca
  • trunk/LMDZ.GENERIC/libf/dyn3d/defrun_new.F

    r1422 r1593  
    4040      use sponge_mod,only: callsponge,nsponge,mode_sponge,tetasponge
    4141      use control_mod,only: nday, day_step, iperiod, anneeref,
    42      &                      iconser, idissip, iphysiq, ecritphy
    43       USE logic_mod, ONLY: hybrid,purmats,physic,grireg,fxyhypb,ysinus
     42     &                      iconser, idissip, iphysiq
     43      USE logic_mod, ONLY: hybrid,purmats,fxyhypb,ysinus,iflag_phys
    4444      USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy,
    4545     .                  alphax,alphay,taux,tauy
     
    210210        WRITE(lunout,*) ""
    211211        WRITE(lunout,*) "avec ou sans physique"
    212         physic=.true. ! default value
    213         call getin("physic",physic)
    214         WRITE(lunout,*)" physic = ",physic
     212!        physic=.true. ! default value
     213!        call getin("physic",physic)
     214!        WRITE(lunout,*)" physic = ",physic
     215        iflag_phys=1 ! default value
     216        call getin("iflag_phys",iflag_phys)
     217        WRITE(lunout,*)" iflag_phys = ",iflag_phys
    215218
    216219        WRITE(lunout,*) ""
     
    220223        WRITE(lunout,*)" iphysiq = ",iphysiq
    221224
    222         WRITE(lunout,*) ""
    223         WRITE(lunout,*) "choix d'une grille reguliere"
    224         grireg=.true.
    225         call getin("grireg",grireg)
    226         WRITE(lunout,*)" grireg = ",grireg
     225!        WRITE(lunout,*) ""
     226!        WRITE(lunout,*) "choix d'une grille reguliere"
     227!        grireg=.true.
     228!        call getin("grireg",grireg)
     229!        WRITE(lunout,*)" grireg = ",grireg
    227230
    228231ccc   .... P.Le Van, ajout le 03/01/96 pour l'ecriture phys ...
    229232c
    230         WRITE(lunout,*) ""
    231         WRITE(lunout,*) "frequence (en pas) de l'ecriture ",
    232      & "du fichier diagfi.nc"
    233         ecritphy=240
    234         call getin("ecritphy",ecritphy)
    235         WRITE(lunout,*)" ecritphy = ",ecritphy
     233!        WRITE(lunout,*) ""
     234!        WRITE(lunout,*) "frequence (en pas) de l'ecriture ",
     235!     & "du fichier diagfi.nc"
     236!        ecritphy=240
     237!        call getin("ecritphy",ecritphy)
     238!        WRITE(lunout,*)" ecritphy = ",ecritphy
    236239
    237240ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
  • trunk/LMDZ.GENERIC/libf/dyn3d/gcm.F

    r1576 r1593  
    55      use sponge_mod,only: callsponge,mode_sponge,sponge
    66      use control_mod, only: nday, day_step, iperiod, iphysiq,
    7      &                       iconser, ecritphy, idissip
     7     &                       iconser, idissip
    88!      use comgeomphy, only: initcomgeomphy
    99      USE mod_const_mpi, ONLY: COMM_LMDZ
     
    1212      USE comconst_mod, ONLY: daysec,dtvr,dtphys,dtdiss,rad,g,r,cpp
    1313      USE logic_mod, ONLY: ecripar,forward,leapf,apphys,statcl,conser,
    14      .          apdiss,purmats,physic,apphys
     14     .          apdiss,purmats,iflag_phys,apphys
    1515      USE temps_mod, ONLY: day_ini,day_end,itaufin,dt
    1616      USE iniphysiq_mod, ONLY: iniphysiq
     
    260260     &                  rlatu,rlatv,rlonu,rlonv,
    261261     &                  aire,cu,cv,rad,g,r,cpp,
    262      &                  1)
    263 !     &                iflag_phys)
     262     &                iflag_phys)
    264263!#endif
    265264!         call_iniphys=.false.
     
    369368         IF( MOD(itau,idissip ).EQ.0.AND..NOT.forward ) apdiss = .TRUE.
    370369         IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward
    371      $                              .AND.   physic    ) apphys = .TRUE.
     370     $                        .AND. (iflag_phys.eq.1) ) apphys = .TRUE.
    372371      ELSE
    373372         IF( MOD(itau   ,iconser) .EQ. 0              ) conser = .TRUE.
    374373         IF( MOD(itau+1,idissip)  .EQ. 0              ) apdiss = .TRUE.
    375          IF( MOD(itau+1,iphysiq).EQ.0. AND. physic    ) apphys = .TRUE.
     374         IF( MOD(itau+1,iphysiq).EQ.0
     375     &                     .AND. (iflag_phys.eq.1)    ) apphys = .TRUE.
    376376      END IF
    377377
     
    473473           rdayvrai   = rdaym_ini  + day_ini
    474474
    475            IF ( ecritphy.LT.1. )  THEN
    476              rday_ecri = rdaym_ini
    477            ELSE
     475! Ehouarn: what was this for ??
     476!           IF ( ecritphy.LT.1. )  THEN
     477!             rday_ecri = rdaym_ini
     478!           ELSE
    478479             rday_ecri = INT(rdaym_ini)+INT(day_ini)
    479            ENDIF
     480!           ENDIF
    480481c
    481482
  • trunk/LMDZ.GENERIC/libf/dyn3d/logic_mod.F90

    r1422 r1593  
    33IMPLICIT NONE 
    44
    5 LOGICAL purmats,physic,forward,leapf,apphys,grireg,statcl,conser, &
     5LOGICAL purmats,forward,leapf,apphys,statcl,conser, &
    66     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus,hybrid,autozlevs
    77
     8INTEGER iflag_phys ! ==1 if calling a physics package
    89
    910END MODULE logic_mod
  • trunk/LMDZ.GENERIC/libf/dynphy_lonlat/phystd/start2archive.F

    r1543 r1593  
    3535      USE comvert_mod, ONLY: ap,bp
    3636      USE comconst_mod, ONLY: daysec,dtphys,rad,g,r,cpp
    37       USE logic_mod, ONLY: grireg
    3837      USE temps_mod, ONLY: day_ini
    3938      USE iniphysiq_mod, ONLY: iniphysiq
     
    145144
    146145      CALL defrun_new(99, .TRUE. )
    147       grireg   = .TRUE.
    148146
    149147      planet_type="generic"
  • trunk/LMDZ.MARS/README

    r1576 r1593  
    23172317  about tracer advection (tracerdyn) back from physics to dynamics as this
    23182318  input parameter can be read and set in the dynamics.
     2319
     2320== 09/09/2016 == EM
     2321- Some code cleanup (and harmonization with LMDZ.COMMON): remove "ecritphy"
     2322  from the dynamics (since it is read/used in the physics) and remove
     2323  "grireg" (unused) and "physic" (use iflag_phys instead) parameters from
     2324  the dynamics.
     2325- turn sponge.F into sponge_mod.F90 (and remove sponge.h)
  • trunk/LMDZ.MARS/libf/dyn3d/comdissip.h

    r38 r1593  
    1 c-----------------------------------------------------------------------
    2 c INCLUDE dissip.h
     1!-----------------------------------------------------------------------
     2! INCLUDE dissip.h
    33
    4       COMMON/comdissip/
    5      $    niterdis,coefdis,tetavel,tetatemp,gamdissip
     4      COMMON/comdissip/                                                 &
     5     &    niterdis,coefdis,tetavel,tetatemp,gamdissip
    66
    77
     
    1010      REAL tetavel,tetatemp,coefdis,gamdissip
    1111
    12 c-----------------------------------------------------------------------
     12!-----------------------------------------------------------------------
  • trunk/LMDZ.MARS/libf/dyn3d/control_mod.F90

    r1532 r1593  
    1212  integer,save :: anneeref ! reference year # ! not used
    1313  real,save :: periodav
    14   integer,save :: ecritphy ! output data in "diagfi.nc" every ecritphy dynamical steps
     14!  integer,save :: ecritphy ! output data in "diagfi.nc" every ecritphy dynamical steps
    1515  integer,save :: ecritstart ! output data in "start.nc" every ecritstart dynamical steps
    1616  real,save :: timestart ! time start for run in "start.nc"
  • trunk/LMDZ.MARS/libf/dyn3d/defrun_new.F

    r1422 r1593  
    3838! to use  'getin'
    3939      use ioipsl_getincom, only: getin
     40      use sponge_mod,only: callsponge,nsponge,mode_sponge,tetasponge
    4041      use control_mod, only: ndynstep, day_step, iperiod, iconser,
    41      &                       idissip, iphysiq, anneeref, ecritphy,
     42     &                       idissip, iphysiq, anneeref,
    4243     &                       ecritstart, timestart, nday_r
    43       USE logic_mod, ONLY: hybrid,purmats,physic,grireg,fxyhypb,ysinus
     44      USE logic_mod, ONLY: hybrid,purmats,fxyhypb,ysinus,iflag_phys
    4445      USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy,
    4546     .                  alphax,alphay,taux,tauy
     
    5051!#include "control.h"
    5152#include "comdissnew.h"
    52 #include "sponge.h"
    5353#include "iniprint.h"
    5454c
     
    226226        WRITE(lunout,*) ""
    227227        WRITE(lunout,*) "avec ou sans physique"
    228         physic=.true. ! default value
    229         call getin("physic",physic)
    230         WRITE(lunout,*)" physic = ",physic
     228!        physic=.true. ! default value
     229!        call getin("physic",physic)
     230!        WRITE(lunout,*)" physic = ",physic
     231        iflag_phys=1 ! default value
     232        call getin("iflag_phys",iflag_phys)
     233        WRITE(lunout,*)" iflag_phys = ",iflag_phys
    231234
    232235        WRITE(lunout,*) ""
     
    243246        endif
    244247
    245         WRITE(lunout,*) ""
    246         WRITE(lunout,*) "choix d'une grille reguliere"
    247         grireg=.true.
    248         call getin("grireg",grireg)
    249         WRITE(lunout,*)" grireg = ",grireg
     248!        WRITE(lunout,*) ""
     249!        WRITE(lunout,*) "choix d'une grille reguliere"
     250!        grireg=.true.
     251!        call getin("grireg",grireg)
     252!        WRITE(lunout,*)" grireg = ",grireg
    250253
    251254ccc   .... P.Le Van, ajout le 03/01/96 pour l'ecriture phys ...
    252255c
    253         WRITE(lunout,*) ""
    254         WRITE(lunout,*) "frequence (en pas) de l'ecriture ",
    255      & "du fichier diagfi.nc"
    256         ecritphy=240
    257         call getin("ecritphy",ecritphy)
    258         ! verify that ecriphy is indeed a multiple of iphysiq
    259         if (((1.*ecritphy)/iphysiq).ne.(ecritphy/iphysiq)) then
    260           write(lunout,*)" Error! ecritphy must be a multiple",
    261      &    " of iphysiq, but ecritphy=",ecritphy," and iphysiq=",
    262      &    iphysiq
    263         else
    264           WRITE(lunout,*)" ecritphy = ",ecritphy
    265         endif
     256!        WRITE(lunout,*) ""
     257!        WRITE(lunout,*) "frequence (en pas) de l'ecriture ",
     258!     & "du fichier diagfi.nc"
     259!        ecritphy=240
     260!        call getin("ecritphy",ecritphy)
     261!        ! verify that ecriphy is indeed a multiple of iphysiq
     262!        if (((1.*ecritphy)/iphysiq).ne.(ecritphy/iphysiq)) then
     263!          write(lunout,*)" Error! ecritphy must be a multiple",
     264!     &    " of iphysiq, but ecritphy=",ecritphy," and iphysiq=",
     265!     &    iphysiq
     266!        else
     267!          WRITE(lunout,*)" ecritphy = ",ecritphy
     268!        endif
    266269       
    267270ccc   .... T.Navarro, read start time (06/2013) ...
  • trunk/LMDZ.MARS/libf/dyn3d/gcm.F

    r1576 r1593  
    44      use infotrac, only: iniadvtrac, nqtot, iadv
    55      use control_mod, only: day_step, iperiod, iphysiq, ndynstep,
    6      &                       nday_r, idissip, iconser, ecritstart,
    7      &                       ecritphy
     6     &                       nday_r, idissip, iconser, ecritstart
    87      use filtreg_mod, only: inifilr
    98!      use comgeomphy, only: initcomgeomphy
    109      USE mod_const_mpi, ONLY: COMM_LMDZ
    1110      USE comvert_mod, ONLY: ap,bp
     11      use sponge_mod, only: callsponge,mode_sponge,sponge
    1212      USE comconst_mod, ONLY: daysec,dtvr,dtphys,dtdiss,rad,g,r,cpp
    1313      USE logic_mod, ONLY: ecripar,forward,leapf,apphys,statcl,conser,
    14      .          apdiss,purmats,physic,apphys
     14     .                apdiss,purmats,iflag_phys,apphys
    1515      USE temps_mod, ONLY: day_ini,day_end,dt,itaufin
    1616      USE iniphysiq_mod, ONLY: iniphysiq
     
    5454#include "netcdf.inc"
    5555#include "tracstoke.h"
    56 #include "sponge.h"
    5756!#include"advtrac.h"
    5857
     
    6665      REAL,allocatable :: q(:,:,:)           ! champs advectes
    6766      REAL ps(ip1jmp1)                       ! pression  au sol
    68       REAL pext(ip1jmp1)                     ! pression  extensive
     67!      REAL pext(ip1jmp1)                     ! pression  extensive
    6968      REAL p (ip1jmp1,llmp1  )               ! pression aux interfac.des couches
    7069      REAL pks(ip1jmp1)                      ! exner au  sol
     
    255254     &                  rlatu,rlatv,rlonu,rlonv,
    256255     &                  aire,cu,cv,rad,g,r,cpp,
    257      &                  1)
    258 !     &                iflag_phys)
     256     &                iflag_phys)
    259257!#endif
    260258!         call_iniphys=.false.
     
    394392         IF( MOD(itau,idissip ).EQ.0.AND..NOT.forward ) apdiss = .TRUE.
    395393         IF( MOD(itau,iphysiq ).EQ.0.AND..NOT.forward
    396      $                              .AND.   physic    ) apphys = .TRUE.
     394     $                   .AND.   (iflag_phys.eq.1)    ) apphys = .TRUE.
    397395      ELSE
    398396         IF( MOD(itau   ,iconser) .EQ. 0              ) conser = .TRUE.
    399397         IF( MOD(itau+1,idissip)  .EQ. 0              ) apdiss = .TRUE.
    400          IF( MOD(itau+1,iphysiq).EQ.0. AND. physic    ) apphys = .TRUE.
     398         IF( MOD(itau+1,iphysiq).EQ.0 
     399     &                     .AND. (iflag_phys.eq.1)    ) apphys = .TRUE.
    401400      END IF
    402401
     
    452451c
    453452      ENDIF
    454           END IF   ! tracer
     453          END IF   ! tracer
    455454
    456455
     
    488487           rdayvrai   = rdaym_ini  + day_ini
    489488
    490            IF ( ecritphy.LT.1. )  THEN
    491              rday_ecri = rdaym_ini
    492            ELSE
     489! Ehouarn: what was this for ??
     490!           IF ( ecritphy.LT.1. )  THEN
     491!             rday_ecri = rdaym_ini
     492!           ELSE
    493493             rday_ecri = INT( rdayvrai )
    494            ENDIF
     494!           ENDIF
    495495c
    496496        CALL calfis( nqtot, lafin ,rdayvrai,rday_ecri,time  ,
     
    522522c        Sponge layer
    523523c        ~~~~~~~~~~~~
    524          DO ij=1, ip1jmp1
    525             pext(ij)=ps(ij)*aire(ij)
    526          ENDDO
    527524         IF (callsponge) THEN
    528             CALL sponge(ucov,vcov,teta,pext,dtdiss,mode_sponge)
     525            CALL sponge(ucov,vcov,teta,ps,dtdiss,mode_sponge)
    529526         ENDIF
    530527
  • trunk/LMDZ.MARS/libf/dyn3d/logic_mod.F90

    r1422 r1593  
    33IMPLICIT NONE 
    44
    5 LOGICAL purmats,physic,forward,leapf,apphys,grireg,statcl,conser, &
     5LOGICAL purmats,forward,leapf,apphys,statcl,conser, &
    66     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus,hybrid
    77
     8INTEGER iflag_phys ! ==1 if calling a physics package
    89
    910END MODULE logic_mod
  • trunk/LMDZ.MARS/libf/dyn3d/sponge_mod.F90

    r1592 r1593  
    1       subroutine sponge(ucov,vcov,h,pext,dt,mode)
     1module sponge_mod
     2
     3implicit none
     4
     5! sponge parameters (set/read via conf_gcm.F)
     6logical,save :: callsponge  ! do we use a sponge on upper layers
     7integer,save :: mode_sponge ! sponge mode
     8integer,save :: nsponge ! number of sponge layers
     9real,save :: tetasponge  ! sponge time scale (s) at topmost layer
     10
     11
     12contains
     13
     14      subroutine sponge(ucov,vcov,h,ps,dt,mode)
    215
    316! Sponge routine: Quench ucov, vcov and potential temperature near the
     
    1023! Time scale for quenching at top level is given by 'tetasponge' (read from
    1124! def file) and doubles as level indexes decrease.
     25! Quenching is modeled as: A(t)=Am+A0exp(-lambda*t)
     26! where Am is the zonal average of the field (or zero), and lambda the inverse
     27! of the characteristic quenching/relaxation time scale
     28! Thus, assuming Am to be time-independent, field at time t+dt is given by:
     29! A(t+dt)=A(t)-(A(t)-Am)*(1-exp(-lambda*dt))
    1230
    1331      USE comvert_mod, ONLY: ap,bp,preff
     
    1836#include "comdissip.h"
    1937#include "comgeom2.h"
    20 #include "sponge.h"
    2138
    2239! Arguments:
     
    2542      real,intent(inout) :: vcov(iip1,jjm,llm) ! covariant meridional wind
    2643      real,intent(inout) :: h(iip1,jjp1,llm) ! potential temperature
    27       real,intent(in) :: pext(iip1,jjp1) ! extensive pressure
     44!      real,intent(in) :: pext(iip1,jjp1) ! extensive pressure
     45      real,intent(in) :: ps(iip1,jjp1) ! surface pressure (Pa)
    2846      real,intent(in) :: dt   ! time step
    2947      integer,intent(in) :: mode  ! sponge mode
    3048
    31 c   Local:
    32 c   ------
     49!   Local:
     50!   ------
    3351
    3452      real,save :: sig_s(llm) !sigma au milieu des couches
    3553      REAL vm,um,hm,ptot(jjp1)
    3654      real,save :: cst(llm)
     55      real :: pext(iip1,jjp1) ! extensive pressure
    3756
    3857      INTEGER l,i,j
     
    7594      endif ! of if (firstcall)
    7695
    77 c-----------------------------------------------------------------------
    78 c   calcul de la dissipation:
    79 c   -------------------------
     96!-----------------------------------------------------------------------
     97!   calcul de la dissipation:
     98!   -------------------------
     99
     100      pext(1:iip1,1:jjp1)=ps(1:iip1,1:jjp1)*aire(1:iip1,1:jjp1)
    80101
    81102      do j=1,jjp1
     
    83104      enddo
    84105 
    85 c   potential temperature
     106!   potential temperature
    86107      do l=l0,llm
    87108         do j=1,jjp1
     
    98119      enddo
    99120
    100 c   zonal wind
     121!   zonal wind
    101122      do l=l0,llm
    102123         do j=2,jjm
     
    104125            if(mode.ge.1) then
    105126               do i=1,iim
    106                   um=um+0.5*ucov(i,j,l)*(pext(i,j)+pext(i+1,j))
    107      s               /cu(i,j)
     127                  um=um+0.5*ucov(i,j,l)*(pext(i,j)+pext(i+1,j)) &
     128                     /cu(i,j)
    108129               enddo
    109130               um=um/ptot(j)
     
    116137      enddo
    117138
    118 c  meridional wind
     139!  meridional wind
    119140      do l=l0,llm
    120141         do j=1,jjm
     
    122143            if(mode.ge.2) then
    123144               do i=1,iim
    124                   vm=vm+vcov(i,j,l)*(pext(i,j)+pext(i,j+1))
    125      s               /cv(i,j)
     145                  vm=vm+vcov(i,j,l)*(pext(i,j)+pext(i,j+1)) &
     146                     /cv(i,j)
    126147               enddo
    127148               vm=vm/(ptot(j)+ptot(j+1))
     
    134155      enddo
    135156
    136       end
     157      end subroutine sponge
     158     
     159end module sponge_mod
     160
  • trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/start2archive.F

    r1543 r1593  
    2929      USE comvert_mod, ONLY: ap,bp
    3030      USE comconst_mod, ONLY: daysec,dtphys,rad,g,r,cpp
    31       USE logic_mod, ONLY: grireg
    3231      USE temps_mod, ONLY: day_ini,hour_ini
    3332      USE iniphysiq_mod, ONLY: iniphysiq
     
    117116
    118117      CALL defrun_new(99, .TRUE. )
    119       grireg   = .TRUE.
    120118
    121119      planet_type='mars'
Note: See TracChangeset for help on using the changeset viewer.