Changeset 6b22af9 in flexpart.git for src/mpi_mod.f90


Ignore:
Timestamp:
Nov 20, 2015, 5:41:29 PM (8 years ago)
Author:
Espen Sollum ATMOS <eso@…>
Branches:
master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
Children:
a1f4dd6
Parents:
df967a99
Message:

Local branch for espen, working with OpenMP version of readwind

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mpi_mod.f90

    rf55fdce r6b22af9  
    105105! If setting this to .false., numwfmem must be set to 3
    106106!===============================================================================
    107   logical :: lmp_sync=.true.
     107  logical :: lmp_sync=.false.
    108108!===============================================================================
    109109
     
    119119  logical, parameter :: mp_dbg_out = .false.
    120120  logical, parameter :: mp_time_barrier=.true.
    121   logical, parameter :: mp_measure_time=.false.
     121  logical, parameter :: mp_measure_time=.true.
    122122  logical, parameter :: mp_exact_numpart=.true.
    123123
     
    214214      lmp_sync=.true. ! :DBG: eso fix this...
    215215    end if
    216 ! TODO: Add warnings for unimplemented flexpart features
     216
     217! TODO: Add more warnings for unimplemented flexpart features
    217218
    218219! Set ID of process that calls getfield/readwind.
     
    434435! Distribute particle variables from pid0 to all processes.
    435436! Called from timemanager
    436 !
     437! *NOT IN USE* at the moment, but can be useful for debugging
    437438!
    438439!***********************************************************************
     
    588589! concentrations/writing output grids.                                         *
    589590!                                                                              *
    590 ! Currently not in use, as each process calculates concentrations              *
    591 ! separately.                                                                  *
     591! Currently *not in use*, as each process calculates concentrations            *
     592! separately, but can be useful for debugging                                  *
    592593!                                                                              *
    593594! To use this routine (together with mpif_tm_send_vars) to transfer data       *
     
    595596! (in timemanager_mpi.f90)                                                     *
    596597!                                                                              *
    597 !      if (lroot) tot_numpart=numpart ! root stores total numpart            *
     598!      if (lroot) tot_numpart=numpart ! root stores total numpart              *
    598599!      call mpif_tm_send_dims                                                  *
    599600!      if (numpart>1) then                                                     *
     
    605606!                                                                              *
    606607!      if (numpart>0) then                                                     *
    607 !          if (lroot) numpart = tot_numpart                                  *
     608!          if (lroot) numpart = tot_numpart                                    *
    608609!       call mpif_tm_collect_vars                                              *
    609610!      end if                                                                  *
    610611!                                                                              *
    611 !    Then a section that begins with "if (lroot) ..." will behave like       *
    612 !    serial flexpart                                                           *
     612! Then a section that begins with "if (lroot) ..." will behave like            *
     613! serial flexpart                                                              *
    613614!                                                                              *
    614615!*******************************************************************************
     
    20662067
    20672068
     2069  subroutine set_fields_synthetic()
     2070!*******************************************************************************
     2071! DESCRIPTION
     2072!   Set all meteorological fields to synthetic (usually constant/homogeneous)
     2073!   values.
     2074!   Used for validation and error-checking
     2075!
     2076! NOTE
     2077!   This version uses asynchronious communications.
     2078!
     2079! VARIABLES
     2080!   
     2081!
     2082! TODO
     2083!
     2084!*******************************************************************************
     2085    use com_mod
     2086
     2087    implicit none
     2088
     2089    integer, parameter :: li=1, ui=3 ! wfmem indices (i.e, operate on entire field)
     2090
     2091
     2092! Variables transferred at initialization only
     2093!*********************************************
     2094!    readclouds=readclouds_
     2095    oro(:,:)=0.0
     2096    excessoro(:,:)=0.0
     2097    lsm(:,:)=0.0
     2098    xlanduse(:,:,:)=0.0
     2099!    wftime
     2100!    numbwf
     2101!    nmixz
     2102!    height
     2103
     2104! Time-varying fields:
     2105    uu(:,:,:,li:ui) = 10.0
     2106    vv(:,:,:,li:ui) = 0.0
     2107    uupol(:,:,:,li:ui) = 10.0 ! TODO check if ok
     2108    vvpol(:,:,:,li:ui)=0.0
     2109    ww(:,:,:,li:ui)=0.
     2110    tt(:,:,:,li:ui)=300.
     2111    rho(:,:,:,li:ui)=1.3
     2112    drhodz(:,:,:,li:ui)=.0
     2113    tth(:,:,:,li:ui)=0.0
     2114    qvh(:,:,:,li:ui)=1.0
     2115    qv(:,:,:,li:ui)=1.0
     2116
     2117    pv(:,:,:,li:ui)=1.0
     2118    clouds(:,:,:,li:ui)=0.0
     2119
     2120    clwc(:,:,:,li:ui)=0.0
     2121    ciwc(:,:,:,li:ui)=0.0
     2122 
     2123! 2D fields
     2124
     2125    cloudsh(:,:,li:ui)=0.0
     2126    vdep(:,:,:,li:ui)=0.0
     2127    ps(:,:,:,li:ui)=1.0e5
     2128    sd(:,:,:,li:ui)=0.0
     2129    tcc(:,:,:,li:ui)=0.0
     2130    tt2(:,:,:,li:ui)=300.
     2131    td2(:,:,:,li:ui)=250.
     2132    lsprec(:,:,:,li:ui)=0.0
     2133    convprec(:,:,:,li:ui)=0.0
     2134    ustar(:,:,:,li:ui)=1.0
     2135    wstar(:,:,:,li:ui)=1.0
     2136    hmix(:,:,:,li:ui)=10000.
     2137    tropopause(:,:,:,li:ui)=10000.
     2138    oli(:,:,:,li:ui)=0.01
     2139    z0=1.0
     2140 
     2141  end subroutine set_fields_synthetic
     2142
    20682143end module mpi_mod
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG