Ignore:
Timestamp:
Jun 11, 2014, 3:46:46 PM (11 years ago)
Author:
Laurent Fairhead
Message:

Merged trunk changes r1997:2055 into testing branch

Location:
LMDZ5/branches/testing
Files:
2 deleted
8 edited
2 copied

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/dyn3dpar/calfis_p.F

    r1999 r2056  
    217217      REAL unskap, pksurcp
    218218c
    219 cIM diagnostique PVteta, Amip2
    220       INTEGER,PARAMETER :: ntetaSTD=3
    221       REAL,SAVE :: rtetaSTD(ntetaSTD)=(/350.,380.,405./) ! Earth-specific, beware !!
    222       REAL PVteta(klon,ntetaSTD)
    223      
    224219      REAL SSUM
    225220
     
    249244      klon=klon_mpi
    250245     
    251       PVteta(:,:)=0.
    252            
    253246c
    254247      IF ( firstcal )  THEN
     
    484477      endif
    485478
    486 
    487       IF (is_sequential.and.(planet_type=="earth")) THEN
    488 #ifdef CPP_PHYS
    489 ! PVtheta calls tetalevel, which is in the physics
    490 cIM calcul PV a teta=350, 380, 405K
    491         CALL PVtheta(ngridmx,llm,pucov,pvcov,pteta,
    492      $           ztfi,zplay,zplev,
    493      $           ntetaSTD,rtetaSTD,PVteta)
    494 c
    495 #endif
    496       ENDIF
    497 
    498479c On change de grille, dynamique vers physiq, pour le flux de masse verticale
    499480      CALL gr_dyn_fi_p(llm,iip1,jjp1,klon,flxw,flxwfi)
     
    668649     .             zdqfi_omp,
    669650     .             zdpsrf_omp,
    670 cIM diagnostique PVteta, Amip2         
    671      .             pducov,
    672      .             PVteta)
     651     .             pducov)
    673652
    674653      else if ( planet_type=="generic" ) then
  • LMDZ5/branches/testing/libf/dyn3dpar/gcm.F

    r1999 r2056  
    9999      REAL ps(ip1jmp1)                       ! pression  au sol
    100100c      REAL p (ip1jmp1,llmp1  )               ! pression aux interfac.des couches
    101 c      REAL pks(ip1jmp1)                      ! exner au  sol
    102 c      REAL pk(ip1jmp1,llm)                   ! exner au milieu des couches
    103 c      REAL pkf(ip1jmp1,llm)                  ! exner filt.au milieu des couches
    104101      REAL masse(ip1jmp1,llm)                ! masse d'air
    105102      REAL phis(ip1jmp1)                     ! geopotentiel au sol
     
    125122      data call_iniphys/.true./
    126123
    127 c      REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm)
    128124c+jld variables test conservation energie
    129125c      REAL ecin(ip1jmp1,llm),ecin0(ip1jmp1,llm)
     
    481477
    482478
    483       day_end = day_ini + nday
     479      if (nday>=0) then
     480         day_end = day_ini + nday
     481      else
     482         day_end = day_ini - nday/day_step
     483      endif
     484
    484485      WRITE(lunout,300)day_ini,day_end
    485486 300  FORMAT('1'/,15x,'run du jour',i7,2x,'au jour',i7//)
  • LMDZ5/branches/testing/libf/dyn3dpar/guide_p_mod.F90

    • Property svn:keywords set to Id
    r2024 r2056  
    328328!=======================================================================
    329329  SUBROUTINE guide_main(itau,ucov,vcov,teta,q,masse,ps)
     330    use exner_hyb_p_m, only: exner_hyb_p
     331    use exner_milieu_p_m, only: exner_milieu_p
    330332    USE parallel_lmdz
    331333    USE control_mod
     
    349351    REAL, DIMENSION (ip1jmp1,llm) :: f_add ! var aux: champ de guidage
    350352    ! Variables pour fonction Exner (P milieu couche)
    351     REAL, DIMENSION (iip1,jjp1,llm)    :: pk, pkf
    352     REAL, DIMENSION (iip1,jjp1,llm)    :: alpha, beta
     353    REAL, DIMENSION (iip1,jjp1,llm)    :: pk
    353354    REAL, DIMENSION (iip1,jjp1)        :: pks   
    354355    REAL                               :: unskap
     
    493494        CALL pression_p( ip1jmp1, ap, bp, ps, p )
    494495        if (pressure_exner) then
    495           CALL exner_hyb_p(ip1jmp1,ps,p,alpha,beta,pks,pk,pkf)
     496          CALL exner_hyb_p(ip1jmp1,ps,p,pks,pk)
    496497        else
    497           CALL exner_milieu_p(ip1jmp1,ps,p,beta,pks,pk,pkf)
     498          CALL exner_milieu_p(ip1jmp1,ps,p,pks,pk)
    498499        endif
    499500        unskap=1./kappa
     
    693694!=======================================================================
    694695  SUBROUTINE guide_interp(psi,teta)
     696    use exner_hyb_p_m, only: exner_hyb_p
     697    use exner_milieu_p_m, only: exner_milieu_p
    695698  USE parallel_lmdz
    696699  USE mod_hallo
     
    717720  REAL, DIMENSION (iip1,jjm,llm)     :: pbary
    718721  ! Variables pour fonction Exner (P milieu couche)
    719   REAL, DIMENSION (iip1,jjp1,llm)    :: pk, pkf
    720   REAL, DIMENSION (iip1,jjp1,llm)    :: alpha, beta
     722  REAL, DIMENSION (iip1,jjp1,llm)    :: pk
    721723  REAL, DIMENSION (iip1,jjp1)        :: pks   
    722724  REAL                               :: unskap
     
    797799        CALL pression_p( ip1jmp1, ap, bp, psi, p )
    798800        if (pressure_exner) then
    799           CALL exner_hyb_p(ip1jmp1,psi,p,alpha,beta,pks,pk,pkf)
     801          CALL exner_hyb_p(ip1jmp1,psi,p,pks,pk)
    800802        else
    801           CALL exner_milieu_p(ip1jmp1,psi,p,beta,pks,pk,pkf)
     803          CALL exner_milieu_p(ip1jmp1,psi,p,pks,pk)
    802804        endif
    803805        unskap=1./kappa
  • LMDZ5/branches/testing/libf/dyn3dpar/iniacademic.F90

    r1910 r2056  
    44SUBROUTINE iniacademic(vcov,ucov,teta,q,masse,ps,phis,time_0)
    55
     6  use exner_hyb_m, only: exner_hyb
     7  use exner_milieu_m, only: exner_milieu
    68  USE filtreg_mod
    79  USE infotrac, ONLY : nqtot
     
    5456  REAL pks(ip1jmp1)                      ! exner au  sol
    5557  REAL pk(ip1jmp1,llm)                   ! exner au milieu des couches
    56   REAL pkf(ip1jmp1,llm)                  ! exner filt.au milieu des couches
    5758  REAL phi(ip1jmp1,llm)                  ! geopotentiel
    5859  REAL ddsin,zsig,tetapv,w_pv  ! variables auxiliaires
     
    7071  integer idum
    7172
    72   REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm),zdtvr
     73  REAL zdtvr
    7374 
    7475  character(len=*),parameter :: modname="iniacademic"
     
    223224        CALL pression ( ip1jmp1, ap, bp, ps, p       )
    224225        if (pressure_exner) then
    225           CALL exner_hyb( ip1jmp1, ps, p,alpha,beta, pks, pk, pkf )
    226         else
    227           call exner_milieu(ip1jmp1,ps,p,beta,pks,pk,pkf)
     226          CALL exner_hyb( ip1jmp1, ps, p, pks, pk )
     227        else
     228          call exner_milieu(ip1jmp1,ps,p,pks,pk)
    228229        endif
    229230        CALL massdair(p,masse)
  • LMDZ5/branches/testing/libf/dyn3dpar/leapfrog_p.F

    r1999 r2056  
    88     &                    time_0)
    99
     10      use exner_hyb_m, only: exner_hyb
     11      use exner_milieu_m, only: exner_milieu
     12      use exner_hyb_p_m, only: exner_hyb_p
     13      use exner_milieu_p_m, only: exner_milieu_p
    1014       USE misc_mod
    1115       USE parallel_lmdz
     
    149153      character*10 string10
    150154
    151       REAL,SAVE :: alpha(ip1jmp1,llm),beta(ip1jmp1,llm)
    152155      REAL,SAVE :: flxw(ip1jmp1,llm) ! flux de masse verticale
    153156
     
    209212      lafin=.false.
    210213     
    211       itaufin   = nday*day_step
     214      if (nday>=0) then
     215         itaufin   = nday*day_step
     216      else
     217         itaufin   = -nday
     218      endif
     219
    212220      itaufinp1 = itaufin +1
    213221
     
    241249      CALL pression ( ip1jmp1, ap, bp, ps, p       )
    242250      if (pressure_exner) then
    243         CALL exner_hyb( ip1jmp1, ps, p,alpha,beta, pks, pk, pkf )
     251        CALL exner_hyb( ip1jmp1, ps, p, pks, pk, pkf )
    244252      else
    245         CALL exner_milieu( ip1jmp1, ps, p, beta, pks, pk, pkf )
     253        CALL exner_milieu( ip1jmp1, ps, p, pks, pk, pkf )
    246254      endif
    247255c$OMP END MASTER
     
    705713c$OMP BARRIER
    706714         if (pressure_exner) then
    707            CALL exner_hyb_p(  ip1jmp1, ps, p,alpha,beta,pks, pk, pkf )
     715           CALL exner_hyb_p(  ip1jmp1, ps, p,pks, pk, pkf )
    708716         else
    709            CALL exner_milieu_p( ip1jmp1, ps, p, beta, pks, pk, pkf )
     717           CALL exner_milieu_p( ip1jmp1, ps, p, pks, pk, pkf )
    710718         endif
     719! Appel a geopot ajoute le 2014/05/08 pour garantir la convergence numerique
     720! avec dyn3dmem
     721      CALL geopot  ( ip1jmp1, teta  , pk , pks,  phis  , phi   )
    711722c$OMP BARRIER
    712723           jD_cur = jD_ref + day_ini - day_ref
     
    918929c$OMP BARRIER
    919930          if (pressure_exner) then
    920             CALL exner_hyb_p(ip1jmp1,ps,p,alpha,beta,pks,pk,pkf)
     931            CALL exner_hyb_p(ip1jmp1,ps,p,pks,pk,pkf)
    921932          else
    922             CALL exner_milieu_p(ip1jmp1,ps,p,beta,pks,pk,pkf)
     933            CALL exner_milieu_p(ip1jmp1,ps,p,pks,pk,pkf)
    923934          endif
    924935c$OMP BARRIER
     
    10591070c$OMP BARRIER
    10601071        if (pressure_exner) then
    1061           CALL exner_hyb_p( ip1jmp1, ps, p,alpha,beta, pks, pk, pkf )
     1072          CALL exner_hyb_p( ip1jmp1, ps, p, pks, pk, pkf )
    10621073        else
    1063           CALL exner_milieu_p( ip1jmp1, ps, p, beta, pks, pk, pkf )
     1074          CALL exner_milieu_p( ip1jmp1, ps, p, pks, pk, pkf )
    10641075        endif
    10651076c$OMP BARRIER
  • LMDZ5/branches/testing/libf/dyn3dpar/mod_const_mpi.F90

    r1999 r2056  
    2121    USE mod_prism
    2222#endif
     23#ifdef CPP_XIOS
     24    USE wxios, only: wxios_init
     25#endif
    2326    IMPLICIT NONE
    2427#ifdef CPP_MPI
     
    4144#ifdef CPP_COUPLE
    4245!$OMP MASTER
    43        CALL prism_init_comp_proto (comp_id, 'lmdz.x', ierr)
     46#ifdef CPP_XIOS
     47      CALL wxios_init("LMDZ", outcom=COMM_LMDZ, type_ocean=type_ocean)
     48#else
     49       CALL prism_init_comp_proto (comp_id, 'LMDZ', ierr)
    4450       CALL prism_get_localcomm_proto(COMM_LMDZ,ierr)
     51#endif
    4552!$OMP END MASTER
    4653#endif
  • LMDZ5/branches/testing/libf/dyn3dpar/parallel_lmdz.F90

    r1999 r2056  
    255255
    256256      if (type_ocean == 'couple') then
     257#ifdef CPP_XIOS
     258    !Fermeture propre de XIOS
     259      CALL wxios_close()
     260#else
    257261#ifdef CPP_COUPLE
    258262         call prism_terminate_proto(ierr)
     
    261265         endif
    262266#endif
     267#endif
    263268      else
    264269#ifdef CPP_XIOS
Note: See TracChangeset for help on using the changeset viewer.