Changeset adead08 in flexpart.git for src/par_mod.f90


Ignore:
Timestamp:
Nov 12, 2019, 9:23:34 AM (5 years ago)
Author:
Ignacio Pisso <ip@…>
Branches:
master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug
Children:
3481cc1, 8e85db7
Parents:
e4925fb (diff), c8df680 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into release-10 in order to update the master
branch to reflect recent changes.
The updated master branch is described in the GMD paper by Pisso et al.
(2019)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/par_mod.f90

    • Property mode changed from 100755 to 100644
    ra63831f r25b4532  
    2828!        1997                                                                  *
    2929!                                                                              *
    30 !        Last update 15 August 2013 IP                                         *
     30!        Update 15 August 2013 IP                                              *
     31!                                                                              *
    3132!                                                                              *
    3233!*******************************************************************************
     
    3738
    3839  !****************************************************************
    39   ! Parameter defining KIND parameter for "double precision"
     40  ! Parameters defining KIND parameter for double/single precision
    4041  !****************************************************************
    4142
    4243  integer,parameter :: dp=selected_real_kind(P=15)
    43 
     44  integer,parameter :: sp=selected_real_kind(6)
     45
     46  !****************************************************************
     47  ! dep_prec sets the precision for deposition calculations (sp or
     48  ! dp). sp is default, dp can be used for increased precision.
     49  !****************************************************************
     50
     51  integer,parameter :: dep_prec=sp
     52
     53  !****************************************************************
     54  ! Set to F to disable use of kernel for concentrations/deposition
     55  !****************************************************************
     56
     57  logical, parameter :: lusekerneloutput=.true.
     58
     59  !*********************************************************************
     60  ! Set to T to change output units to number of particles per grid cell
     61  !*********************************************************************
     62  logical, parameter :: lparticlecountoutput=.false.
    4463
    4564  !***********************************************************
    46   ! Number of directories/files used for FLEXPART input/output
     65  ! number of directories/files used for FLEXPART input/output
    4766  !***********************************************************
    4867
     
    5877  real,parameter :: pi=3.14159265, r_earth=6.371e6, r_air=287.05, ga=9.81
    5978  real,parameter :: cpa=1004.6, kappa=0.286, pi180=pi/180., vonkarman=0.4
     79  ! additional constants RLT Aug-2017
     80  real,parameter :: rgas=8.31447
     81  real,parameter :: r_water=461.495
    6082
    6183  ! pi                      number "pi"
     
    6789  ! kappa                   exponent of formula for potential temperature
    6890  ! vonkarman               von Karman constant
     91  ! rgas                    universal gas constant [J/mol/K]
     92  ! r_water                 specific gas constant for water vapor [J/kg/K]
    6993
    7094  real,parameter :: karman=0.40, href=15., convke=2.0
    71   real,parameter :: hmixmin=100., hmixmax=4500., turbmesoscale=0.16
    72   real,parameter :: d_trop=50., d_strat=0.1
     95  real,parameter :: hmixmin=100., hmixmax=4500. !, turbmesoscale=0.16
     96  !real,parameter :: d_trop=50., d_strat=0.1
     97  real :: d_trop=50., d_strat=0.1, turbmesoscale=0.16 ! turbulence factors can change for different runs
     98  real,parameter :: rho_water=1000. !ZHG 2015 [kg/m3]
     99  !ZHG MAR2016
     100  real,parameter :: incloud_ratio=6.2
    73101
    74102  ! karman                  Karman's constant
     
    121149  !*********************************************
    122150 
    123   !integer,parameter :: nxmax=361,nymax=181,nuvzmax=92,nwzmax=92,nzmax=92 !ECMWF 91 levels
    124   integer,parameter :: nxmax=361,nymax=181,nuvzmax=138,nwzmax=138,nzmax=138 !ECMWF 137 levels
    125   !integer,parameter :: nxmax=721,nymax=361,nuvzmax=138,nwzmax=138,nzmax=138 !ECMWF 0.5 137 levels
    126   !integer,parameter :: nxmax=361,nymax=181,nuvzmax=92,nwzmax=92,nzmax=92 !FNL
    127 
    128   !integer,parameter :: nxmax=361,nymax=181,nuvzmax=152,nwzmax=152,nzmax=152 !ECMWF new
    129   !integer,parameter :: nxmax=361,nymax=181,nuvzmax=26,nwzmax=26,nzmax=26
    130   !integer,parameter :: nxmax=721,nymax=361,nuvzmax=64,nwzmax=64,nzmax=64
    131   !integer,parameter :: nxmax=1201,nymax=235,nuvzmax=58,nwzmax=58,nzmax=58
    132 
    133   integer,parameter :: nxshift=359 ! for ECMWF
    134   !integer,parameter :: nxshift=718 ! for ECMWF 0.5
    135   !integer,parameter :: nxshift=0     ! for GFS or FNL (XF)
    136 
    137   integer,parameter :: nconvlevmax = nuvzmax-1
    138   integer,parameter :: na = nconvlevmax+1
    139 
     151  ! ECMWF
     152! integer,parameter :: nxmax=361,nymax=181,nuvzmax=92,nwzmax=92,nzmax=92,nxshift=359 ! 1.0 degree 92 level
     153!  integer,parameter :: nxmax=361,nymax=181,nuvzmax=138,nwzmax=138,nzmax=138,nxshift=0 ! 1.0 degree 138 level
     154!   integer,parameter :: nxmax=361,nymax=181,nuvzmax=138,nwzmax=138,nzmax=138,nxshift=359 ! 1.0 degree 138 level
     155! integer,parameter :: nxmax=721,nymax=361,nuvzmax=138,nwzmax=138,nzmax=138,nxshift=359  ! 0.5 degree 138 level
     156!  integer,parameter :: nxmax=181,nymax=91,nuvzmax=92,nwzmax=92,nzmax=92,nxshift=0  ! CERA 2.0 degree 92 level
     157
     158! GFS
     159   integer,parameter :: nxmax=361,nymax=181,nuvzmax=138,nwzmax=138,nzmax=138
     160   integer :: nxshift=0 ! shift not fixed for the executable
     161
     162
     163  !*********************************************
     164  ! Maximum dimensions of the nested input grids
     165  !*********************************************
     166
     167  integer,parameter :: maxnests=0,nxmaxn=0,nymaxn=0
    140168
    141169  ! nxmax,nymax        maximum dimension of wind fields in x and y
     
    149177  !                    grids, and output grids overlapping the domain "boundary"
    150178  !                    nxshift must not be negative; "normal" setting would be 0
     179
     180 
     181  integer,parameter :: nconvlevmax = nuvzmax-1
     182  integer,parameter :: na = nconvlevmax+1
     183
    151184  ! ntracermax         maximum number of tracer species in convection
    152185  ! nconvlevmax        maximum number of levels for convection
    153186  ! na                 parameter used in Emanuel's convect subroutine
    154 
    155 
    156   !*********************************************
    157   ! Maximum dimensions of the nested input grids
    158   !*********************************************
    159 
    160   integer,parameter :: maxnests=0, nxmaxn=0, nymaxn=0
    161   !integer,parameter :: maxnests=1,nxmaxn=361,nymaxn=351 !ECMWF
    162   !integer,parameter :: maxnests=1, nxmaxn=201, nymaxn=161 ! FNL XF
    163   ! maxnests                maximum number of nested grids
    164   ! nxmaxn,nymaxn           maximum dimension of nested wind fields in
    165   !                         x and y direction, respectively
    166187
    167188
     
    193214  !integer,parameter :: maxxgrid=361,maxygrid=181,maxxgridn=0,maxygridn=0)
    194215
    195   integer,parameter :: maxreceptor=200
     216  integer,parameter :: maxreceptor=20
    196217
    197218  ! maxreceptor             maximum number of receptor points
     
    202223  !**************************************************
    203224
    204   integer,parameter :: maxpart=1000000
     225  integer,parameter :: maxpart=100000
    205226  integer,parameter :: maxspec=1
    206227
     228  real,parameter :: minmass=0.0001
    207229
    208230  ! maxpart                 Maximum number of particles
    209231  ! maxspec                 Maximum number of chemical species per release
     232  ! minmass                 Terminate particles carrying less mass
    210233
    211234  ! maxpoint is also set dynamically during runtime
     
    216239  ! ---------
    217240  integer,parameter :: maxwf=50000, maxtable=1000, numclass=13, ni=11
     241  integer,parameter :: numwfmem=2 ! Serial version/MPI with 2 fields
     242  !integer,parameter :: numwfmem=3 ! MPI with 3 fields
    218243
    219244  ! maxwf                   maximum number of wind fields to be used for simulation
     
    222247  ! numclass                Number of landuse classes available to FLEXPART
    223248  ! ni                      Number of diameter classes of particles
     249  ! numwfmem                Number of windfields kept in memory. 2 for serial
     250  !                         version, 2 or 3 for MPI version
    224251
    225252  !**************************************************************************
     
    240267  !*********************************
    241268
    242   integer,parameter :: maxrand=2000000
     269  integer,parameter :: maxrand=1000000
    243270
    244271  ! maxrand                 number of random numbers used
    245 
     272 
    246273
    247274  !*****************************************************
     
    256283
    257284  integer,parameter :: unitpath=1, unitcommand=1, unitageclasses=1, unitgrid=1
    258   integer,parameter :: unitavailab=1, unitreleases=88, unitpartout=93
     285  integer,parameter :: unitavailab=1, unitreleases=88, unitpartout=93, unitpartout_average=105
    259286  integer,parameter :: unitpartin=93, unitflux=98, unitouttraj=96
    260287  integer,parameter :: unitvert=1, unitoro=1, unitpoin=1, unitreceptor=1
     
    263290  integer,parameter :: unitlsm=1, unitsurfdata=1, unitland=1, unitwesely=1
    264291  integer,parameter :: unitOH=1
    265   integer,parameter :: unitdates=94, unitheader=90,unitheader_txt=100, unitshortpart=95
     292  integer,parameter :: unitdates=94, unitheader=90,unitheader_txt=100, unitshortpart=95, unitprecip=101
    266293  integer,parameter :: unitboundcond=89
     294  integer,parameter :: unittmp=101
     295! RLT
     296  integer,parameter :: unitoutfactor=102
    267297
    268298!******************************************************
     
    270300!******************************************************
    271301
    272     !  integer icmv
    273     !  parameter(icmv=-9999)
    274       integer,parameter ::  icmv=-9999
    275 
    276 ! Parameters for testing
    277 !*******************************************
    278 !  integer :: verbosity=0
     302  integer,parameter ::  icmv=-9999
     303
    279304
    280305end module par_mod
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG