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/vdifc.F

    r1047 r1130  
    5656      REAL,INTENT(IN) :: pu(ngrid,nlay),pv(ngrid,nlay)
    5757      REAL,INTENT(IN) :: ph(ngrid,nlay)
    58       REAL :: pt(ngrid,nlay)
    5958      REAL,INTENT(IN) :: ptsrf(ngrid),pemis(ngrid)
    6059      REAL,INTENT(IN) :: pdufi(ngrid,nlay),pdvfi(ngrid,nlay)
     
    6362      REAL,INTENT(OUT) :: pdudif(ngrid,nlay),pdvdif(ngrid,nlay)
    6463      REAL,INTENT(OUT) :: pdtsrf(ngrid),pdhdif(ngrid,nlay)
    65       REAL,INTENT(IN) ::pcapcal(ngrid)
    66       REAL pq2(ngrid,nlay+1)
     64      REAL,INTENT(IN) :: pcapcal(ngrid)
     65      REAL,INTENT(INOUT) :: pq2(ngrid,nlay+1)
    6766
    6867c    Argument added for condensation:
     
    8685c   ------
    8786
     87      REAL :: pt(ngrid,nlay)
    8888      REAL ust(ngrid),tst(ngrid)
    8989 
     
    363363! Some usefull diagnostics for the new surface layer parametrization :
    364364
    365 !        call WRITEDIAGFI(ngrid,'pcdv',
     365!        call WRITEDIAGFI(ngrid,'vdifc_zcdv_true',
    366366!     &              'momentum drag','no units',
    367367!     &                         2,zcdv_true)
    368 !        call WRITEDIAGFI(ngrid,'pcdh',
     368!        call WRITEDIAGFI(ngrid,'vdifc_zcdh_true',
    369369!     &              'heat drag','no units',
    370370!     &                         2,zcdh_true)
    371 !        call WRITEDIAGFI(ngrid,'ust',
     371!        call WRITEDIAGFI(ngrid,'vdifc_ust',
    372372!     &              'friction velocity','m/s',2,ust)
    373 !       call WRITEDIAGFI(ngrid,'tst',
     373!       call WRITEDIAGFI(ngrid,'vdifc_tst',
    374374!     &              'friction temperature','K',2,tst)
    375 !        call WRITEDIAGFI(ngrid,'rm-1',
     375!        call WRITEDIAGFI(ngrid,'vdifc_zcdv',
    376376!     &              'aerodyn momentum conductance','m/s',
    377377!     &                         2,zcdv)
    378 !        call WRITEDIAGFI(ngrid,'rh-1',
     378!        call WRITEDIAGFI(ngrid,'vdifc_zcdh',
    379379!     &              'aerodyn heat conductance','m/s',
    380380!     &                         2,zcdh)
     
    384384       IF (.not. calltherm) THEN
    385385
    386        CALL vdif_kc(ptimestep,g,pzlev,pzlay
     386       CALL vdif_kc(ngrid,nlay,nq,ptimestep,g,pzlev,pzlay
    387387     &              ,pu,pv,ph,zcdv_true
    388388     &              ,pq2,zkv,zkh,zq)
Note: See TracChangeset for help on using the changeset viewer.