Ignore:
Timestamp:
Dec 20, 2013, 4:04:56 PM (11 years ago)
Author:
emillour
Message:

Mars GCM:
Series of changes to enable running in parallel (using LMDZ.COMMON dynamics);
Current LMDZ.MARS can still notheless be compiled and run in serial mode
"as previously".
Summary of main changes:

  • Main programs (newstart, start2archive, xvik) that used to be in dyn3d have been moved to phymars.
  • dyn3d/control.h is now module control_mod.F90
  • rearanged input/outputs routines everywhere to handle serial/MPI cases. physdem.F => phyredem.F90 , phyetat0.F => phyetat0.F90 ; all read/write routines for startfi files are gathered in module iostart.F90
  • added parallelism related routines init_phys_lmdz.F90, comgeomphy.F90, dimphy.F90, iniphysiq.F90, mod_grid_phy_lmdz.F90, mod_phys_lmdz_mpi_data.F90, mod_phys_lmdz_mpi_transfert.F90, mod_phys_lmdz_omp_data.F90, mod_phys_lmdz_omp_transfert.F90, mod_phys_lmdz_para.F90, mod_phys_lmdz_transfert_para.F90 in phymars and mod_const_mpi.F90 in dyn3d (for compliance with parallel case)
  • created generic routines 'planetwide_maxval' and 'planetwide_minval', in module "planetwide_mod", that enable obtaining the min and max of a field over the whole planet.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/vdif_kc.F

    r1047 r1130  
    3232c
    3333c.......................................................................
    34       REAL dt,g
    35       REAL zlev(ngrid,nlay+1)
    36       REAL zlay(ngrid,nlay)
    37       REAL u(ngrid,nlay)
    38       REAL v(ngrid,nlay)
    39       REAL teta(ngrid,nlay)
    40       REAL cd(ngrid)
    41       REAL q2(ngrid,nlay+1)
    42       REAL km(ngrid,nlay+1)
    43       REAL kn(ngrid,nlay+1)
    44       REAL zq(ngrid,nlay,nq)
     34      REAL,INTENT(IN) :: dt,g
     35      REAL,INTENT(IN) :: zlev(ngrid,nlay+1)
     36      REAL,INTENT(IN) :: zlay(ngrid,nlay)
     37      REAL,INTENT(IN) :: u(ngrid,nlay)
     38      REAL,INTENT(IN) :: v(ngrid,nlay)
     39      REAL,INTENT(IN) :: teta(ngrid,nlay)
     40      REAL,INTENT(IN) :: cd(ngrid)
     41      REAL,INTENT(INOUT) :: q2(ngrid,nlay+1)
     42      REAL,INTENT(OUT) :: km(ngrid,nlay+1)
     43      REAL,INTENT(OUT) :: kn(ngrid,nlay+1)
     44      REAL,INTENT(IN) :: zq(ngrid,nlay,nq)
    4545c.......................................................................
    4646c
     
    247247      nlev=nlay+1
    248248     
     249      ! Other initializations of local variables (to be clean)
     250      long(:,:)=0.
     251      n2(:,:)=0.
     252      sn(:,:)=0.
     253      snq2(:,:)=0.
     254      sm(:,:)=0.
     255      smq2(:,:)=0.
    249256c.......................................................................
    250257c  Special treatment for co2
     
    381388        gninf=.false.
    382389        gnsup=.false.
    383         long(igrid,ilev)=long(igrid,ilev)
    384         long(igrid,ilev)=long(igrid,ilev)
     390        long(igrid,ilev)=long(igrid,ilev) ! not very useful...
     391        long(igrid,ilev)=long(igrid,ilev) ! not very useful...
    385392c
    386393        IF (gn.lt.gnmin) THEN
     
    609616c.......................................................................
    610617c
     618
     619!        call writediagfi(ngrid,'vdif_kc_q2','','',3,q2(:,1:nlay))
     620!        call writediagfi(ngrid,'vdif_kc_km','','',3,km(:,1:nlay))
     621!        call writediagfi(ngrid,'vdif_kc_kn','','',3,kn(:,1:nlay))
     622!        call writediagfi(ngrid,'vdif_kc_unsdz','','',3,unsdz(:,1:nlay))
     623!        call writediagfi(ngrid,'vdif_kc_unsddecz','','',3,
     624!     &                   unsdzdec(:,1:nlay))
     625!        call writediagfi(ngrid,'vdif_kc_q','','',3,q(:,1:nlay))
     626!        call writediagfi(ngrid,'vdif_kc_kmpre','','',3,
     627!     &                   kmpre(:,1:nlay))
     628!        call writediagfi(ngrid,'vdif_kc_long','','',3,long(:,1:nlay))
     629!        call writediagfi(ngrid,'vdif_kc_sn','','',3,sn(:,1:nlay))
     630!        call writediagfi(ngrid,'vdif_kc_sm','','',3,sm(:,1:nlay))
     631
    611632      RETURN
    612633      END
Note: See TracChangeset for help on using the changeset viewer.