Changeset adead08 in flexpart.git for src/par_mod.f90
- Timestamp:
- Nov 12, 2019, 9:23:34 AM (5 years ago)
- 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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/par_mod.f90
- Property mode changed from 100755 to 100644
ra63831f r25b4532 28 28 ! 1997 * 29 29 ! * 30 ! Last update 15 August 2013 IP * 30 ! Update 15 August 2013 IP * 31 ! * 31 32 ! * 32 33 !******************************************************************************* … … 37 38 38 39 !**************************************************************** 39 ! Parameter defining KIND parameter for "double precision"40 ! Parameters defining KIND parameter for double/single precision 40 41 !**************************************************************** 41 42 42 43 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. 44 63 45 64 !*********************************************************** 46 ! Number of directories/files used for FLEXPART input/output65 ! number of directories/files used for FLEXPART input/output 47 66 !*********************************************************** 48 67 … … 58 77 real,parameter :: pi=3.14159265, r_earth=6.371e6, r_air=287.05, ga=9.81 59 78 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 60 82 61 83 ! pi number "pi" … … 67 89 ! kappa exponent of formula for potential temperature 68 90 ! vonkarman von Karman constant 91 ! rgas universal gas constant [J/mol/K] 92 ! r_water specific gas constant for water vapor [J/kg/K] 69 93 70 94 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 73 101 74 102 ! karman Karman's constant … … 121 149 !********************************************* 122 150 123 ! integer,parameter :: nxmax=361,nymax=181,nuvzmax=92,nwzmax=92,nzmax=92 !ECMWF 91 levels124 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=58132 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-1138 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 140 168 141 169 ! nxmax,nymax maximum dimension of wind fields in x and y … … 149 177 ! grids, and output grids overlapping the domain "boundary" 150 178 ! 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 151 184 ! ntracermax maximum number of tracer species in convection 152 185 ! nconvlevmax maximum number of levels for convection 153 186 ! na parameter used in Emanuel's convect subroutine 154 155 156 !*********************************************157 ! Maximum dimensions of the nested input grids158 !*********************************************159 160 integer,parameter :: maxnests=0, nxmaxn=0, nymaxn=0161 !integer,parameter :: maxnests=1,nxmaxn=361,nymaxn=351 !ECMWF162 !integer,parameter :: maxnests=1, nxmaxn=201, nymaxn=161 ! FNL XF163 ! maxnests maximum number of nested grids164 ! nxmaxn,nymaxn maximum dimension of nested wind fields in165 ! x and y direction, respectively166 187 167 188 … … 193 214 !integer,parameter :: maxxgrid=361,maxygrid=181,maxxgridn=0,maxygridn=0) 194 215 195 integer,parameter :: maxreceptor=20 0216 integer,parameter :: maxreceptor=20 196 217 197 218 ! maxreceptor maximum number of receptor points … … 202 223 !************************************************** 203 224 204 integer,parameter :: maxpart=100000 0225 integer,parameter :: maxpart=100000 205 226 integer,parameter :: maxspec=1 206 227 228 real,parameter :: minmass=0.0001 207 229 208 230 ! maxpart Maximum number of particles 209 231 ! maxspec Maximum number of chemical species per release 232 ! minmass Terminate particles carrying less mass 210 233 211 234 ! maxpoint is also set dynamically during runtime … … 216 239 ! --------- 217 240 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 218 243 219 244 ! maxwf maximum number of wind fields to be used for simulation … … 222 247 ! numclass Number of landuse classes available to FLEXPART 223 248 ! 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 224 251 225 252 !************************************************************************** … … 240 267 !********************************* 241 268 242 integer,parameter :: maxrand= 2000000269 integer,parameter :: maxrand=1000000 243 270 244 271 ! maxrand number of random numbers used 245 272 246 273 247 274 !***************************************************** … … 256 283 257 284 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 259 286 integer,parameter :: unitpartin=93, unitflux=98, unitouttraj=96 260 287 integer,parameter :: unitvert=1, unitoro=1, unitpoin=1, unitreceptor=1 … … 263 290 integer,parameter :: unitlsm=1, unitsurfdata=1, unitland=1, unitwesely=1 264 291 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 266 293 integer,parameter :: unitboundcond=89 294 integer,parameter :: unittmp=101 295 ! RLT 296 integer,parameter :: unitoutfactor=102 267 297 268 298 !****************************************************** … … 270 300 !****************************************************** 271 301 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 279 304 280 305 end module par_mod
Note: See TracChangeset
for help on using the changeset viewer.