Changeset 6a678e3 in flexpart.git
- Timestamp:
- Jan 25, 2016, 2:17:34 PM (8 years ago)
- Branches:
- master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug, univie
- Children:
- 26f6039
- Parents:
- fddc6ec
- Location:
- src
- Files:
-
- 1 added
- 1 deleted
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
src/concoutput.f90
r6b22af9 r6a678e3 63 63 use par_mod 64 64 use com_mod 65 use mean_mod 65 66 66 67 implicit none … … 90 91 91 92 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 92 real :: auxgrid(nclassunc),gridtotal,gridsigmatotal,gridtotalunc 93 real :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 94 real :: drygridtotal,drygridsigmatotal,drygridtotalunc 93 real(dep_prec) :: auxgrid(nclassunc) 94 real(sp) :: gridtotal,gridsigmatotal,gridtotalunc 95 real(dep_prec) :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 96 real(dep_prec) :: drygridtotal,drygridsigmatotal,drygridtotalunc 95 97 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 96 98 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_mpi.f90
rfdc0f03 r6a678e3 68 68 use com_mod 69 69 use mpi_mod 70 use mean_mod 70 71 71 72 implicit none … … 95 96 96 97 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 97 real :: auxgrid(nclassunc),gridtotal,gridsigmatotal,gridtotalunc 98 real :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 99 real :: drygridtotal,drygridsigmatotal,drygridtotalunc 98 real(dep_prec) :: auxgrid(nclassunc) 99 real(sp) :: gridtotal,gridsigmatotal,gridtotalunc 100 real(dep_prec) :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 101 real(dep_prec) :: drygridtotal,drygridsigmatotal,drygridtotalunc 100 102 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 101 103 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_nest.f90
r5f9d14a r6a678e3 61 61 use par_mod 62 62 use com_mod 63 use mean_mod 63 64 64 65 implicit none … … 88 89 89 90 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 90 real :: auxgrid(nclassunc)91 real(dep_prec) :: auxgrid(nclassunc) 91 92 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 92 93 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_nest_mpi.f90
r5f9d14a r6a678e3 65 65 use com_mod 66 66 use mpi_mod 67 use mean_mod 67 68 68 69 implicit none … … 92 93 93 94 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 94 real :: auxgrid(nclassunc)95 real(dep_prec) :: auxgrid(nclassunc) 95 96 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 96 97 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_surf.f90
r8a65cb0 r6a678e3 63 63 use par_mod 64 64 use com_mod 65 use mean_mod 65 66 66 67 implicit none … … 90 91 91 92 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 92 real :: auxgrid(nclassunc),gridtotal,gridsigmatotal,gridtotalunc 93 real :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 94 real :: drygridtotal,drygridsigmatotal,drygridtotalunc 93 real(dep_prec) :: auxgrid(nclassunc) 94 real(sp) :: gridtotal,gridsigmatotal,gridtotalunc 95 real(dep_prec) :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 96 real(dep_prec) :: drygridtotal,drygridsigmatotal,drygridtotalunc 95 97 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 96 98 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_surf_mpi.f90
r5f9d14a r6a678e3 69 69 use com_mod 70 70 use mpi_mod 71 use mean_mod 71 72 72 73 implicit none … … 96 97 97 98 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 98 real :: auxgrid(nclassunc),gridtotal,gridsigmatotal,gridtotalunc 99 real :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 100 real :: drygridtotal,drygridsigmatotal,drygridtotalunc 99 real(dep_prec) :: auxgrid(nclassunc) 100 real(sp) :: gridtotal,gridsigmatotal,gridtotalunc 101 real(dep_prec) :: wetgridtotal,wetgridsigmatotal,wetgridtotalunc 102 real(dep_prec) :: drygridtotal,drygridsigmatotal,drygridtotalunc 101 103 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 102 104 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_surf_nest.f90
rf13406c r6a678e3 61 61 use par_mod 62 62 use com_mod 63 use mean_mod 63 64 64 65 implicit none … … 88 89 89 90 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 90 real :: auxgrid(nclassunc)91 real(dep_prec) :: auxgrid(nclassunc) 91 92 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 92 93 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/concoutput_surf_nest_mpi.f90
r5f9d14a r6a678e3 64 64 use com_mod 65 65 use mpi_mod 66 use mean_mod 66 67 67 68 implicit none … … 91 92 92 93 !real sparse_dump_u(numxgrid*numygrid*numzgrid) 93 real :: auxgrid(nclassunc)94 real(dep_prec) :: auxgrid(nclassunc) 94 95 real :: halfheight,dz,dz1,dz2,tot_mu(maxspec,maxpointspec_act) 95 96 real,parameter :: smallnum = tiny(0.0) ! smallest number that can be handled -
src/ecmwf_mod.f90
- Property mode changed from 100755 to 100644
-
src/gfs_mod.f90
- Property mode changed from 100755 to 100644
-
src/makefile
rfdc0f03 r6a678e3 82 82 xmass_mod.o flux_mod.o \ 83 83 point_mod.o outg_mod.o \ 84 84 mean_mod.o random_mod.o 85 85 86 86 MPI_MODOBJS = \ … … 167 167 interpol_vdep.o interpol_rain.o \ 168 168 hanna.o wetdepokernel.o \ 169 mean.owetdepo.o \169 wetdepo.o \ 170 170 hanna_short.o windalign.o \ 171 171 hanna1.o \ … … 293 293 conccalc.o: com_mod.o outg_mod.o par_mod.o unc_mod.o 294 294 conccalc_mpi.o: com_mod.o mpi_mod.o outg_mod.o par_mod.o unc_mod.o 295 concoutput.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o 295 concoutput.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o mean_mod.o 296 296 concoutput_mpi.o: com_mod.o mpi_mod.o outg_mod.o par_mod.o point_mod.o \ 297 unc_mod.o 298 concoutput_nest.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o 297 unc_mod.o mean_mod.o 298 concoutput_nest.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o mean_mod.o 299 299 concoutput_nest_mpi.o: com_mod.o mpi_mod.o outg_mod.o par_mod.o point_mod.o \ 300 unc_mod.o 301 concoutput_surf.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o 300 unc_mod.o mean_mod.o 301 concoutput_surf.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o mean_mod.o 302 302 concoutput_surf_mpi.o: com_mod.o mpi_mod.o outg_mod.o par_mod.o point_mod.o \ 303 unc_mod.o 304 concoutput_surf_nest.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o 303 unc_mod.o mean_mod.o 304 concoutput_surf_nest.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o mean_mod.o 305 305 concoutput_surf_nest_mpi.o: com_mod.o mpi_mod.o outg_mod.o par_mod.o \ 306 point_mod.o unc_mod.o 306 point_mod.o unc_mod.o mean_mod.o 307 307 conv_mod.o: par_mod.o 308 308 convect43c.o: conv_mod.o par_mod.o … … 359 359 interpol_wind_short_nests.o: com_mod.o interpol_mod.o par_mod.o 360 360 juldate.o: par_mod.o 361 mean_mod.o: par_mod.o 361 362 mpi_mod.o: com_mod.o par_mod.o unc_mod.o 362 netcdf_output_mod.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o 363 netcdf_output_mod.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o mean_mod.o 363 364 obukhov.o: par_mod.o 364 365 obukhov_gfs.o: par_mod.o … … 366 367 openouttraj.o: com_mod.o par_mod.o point_mod.o 367 368 openreceptors.o: com_mod.o par_mod.o 369 outg_mod.o: par_mod.o 368 370 outgrid_init.o: com_mod.o flux_mod.o oh_mod.o outg_mod.o par_mod.o unc_mod.o 369 371 outgrid_init_nest.o: com_mod.o outg_mod.o par_mod.o unc_mod.o … … 376 378 partoutput_short_mpi.o: com_mod.o mpi_mod.o par_mod.o 377 379 pbl_profile.o: par_mod.o 378 plumetraj.o: com_mod.o par_mod.o point_mod.o 380 plumetraj.o: com_mod.o par_mod.o point_mod.o mean_mod.o 379 381 psih.o: par_mod.o 380 382 psim.o: par_mod.o -
src/mpi_mod.f90
rfdc0f03 r6a678e3 53 53 ! unless a dedicated process runs getfields/readwind * 54 54 ! lmp_sync If .false., use asynchronous MPI * 55 ! mp_cp Real precision to use for deposition fields * 55 56 ! * 56 57 ! * … … 84 85 integer :: mp_seed=0 85 86 integer, parameter :: mp_sp=MPI_REAL4, mp_dp=MPI_REAL8 86 integer , parameter :: mp_pp=mp_sp87 integer :: mp_cp 87 88 integer, parameter :: id_root=0 ! master process 88 89 … … 163 164 ! mp_np number of running processes, decided at run-time 164 165 !*********************************************************************** 165 use par_mod, only: maxpart, numwfmem 166 use par_mod, only: maxpart, numwfmem, dep_prec 166 167 use com_mod, only: mpi_mode 167 168 … … 170 171 integer :: i,j,s,addmaxpart=0 171 172 172 ! each process gets an ID (mp_pid) in the range 0,..,mp_np-1173 ! Each process gets an ID (mp_pid) in the range 0,..,mp_np-1 173 174 call MPI_INIT(mp_ierr) 174 175 if (mp_ierr /= 0) goto 100 … … 179 180 180 181 181 ! this variable is used to handle subroutines common to parallel/serial version182 ! Variable mpi_mode is used to handle subroutines common to parallel/serial version 182 183 if (lmp_sync) then 183 184 mpi_mode=2 ! hold 2 windfields in memory … … 188 189 if (mp_pid.ne.0) then 189 190 lroot = .false. 191 end if 192 193 ! Set MPI precision to use for transferring deposition fields 194 !************************************************************ 195 if (dep_prec==dp) then 196 mp_cp = MPI_REAL8 197 if (lroot) write(*,*) 'Using double precision for deposition fields' 198 else if (dep_prec==sp) then 199 mp_cp = MPI_REAL4 200 if (lroot) write(*,*) 'Using single precision for deposition fields' 201 else 202 write(*,*) 'ERROR: something went wrong setting MPI real precision' 203 stop 190 204 end if 191 205 … … 1671 1685 1672 1686 if ((WETDEP).and.(ldirect.gt.0)) then 1673 call MPI_Reduce(wetgridunc, wetgridunc0, grid_size2d, mp_ sp, MPI_SUM, id_root, &1687 call MPI_Reduce(wetgridunc, wetgridunc0, grid_size2d, mp_cp, MPI_SUM, id_root, & 1674 1688 & mp_comm_used, mp_ierr) 1675 1689 if (mp_ierr /= 0) goto 600 … … 1677 1691 1678 1692 if ((DRYDEP).and.(ldirect.gt.0)) then 1679 call MPI_Reduce(drygridunc, drygridunc0, grid_size2d, mp_ sp, MPI_SUM, id_root, &1693 call MPI_Reduce(drygridunc, drygridunc0, grid_size2d, mp_cp, MPI_SUM, id_root, & 1680 1694 & mp_comm_used, mp_ierr) 1681 1695 if (mp_ierr /= 0) goto 600 … … 1747 1761 1748 1762 if ((WETDEP).and.(ldirect.gt.0)) then 1749 call MPI_Reduce(wetgriduncn, wetgriduncn0, grid_size2d, mp_ sp, MPI_SUM, id_root, &1763 call MPI_Reduce(wetgriduncn, wetgriduncn0, grid_size2d, mp_cp, MPI_SUM, id_root, & 1750 1764 & mp_comm_used, mp_ierr) 1751 1765 if (mp_ierr /= 0) goto 600 … … 1753 1767 1754 1768 if ((DRYDEP).and.(ldirect.gt.0)) then 1755 call MPI_Reduce(drygriduncn, drygriduncn0, grid_size2d, mp_ sp, MPI_SUM, id_root, &1769 call MPI_Reduce(drygriduncn, drygriduncn0, grid_size2d, mp_cp, MPI_SUM, id_root, & 1756 1770 & mp_comm_used, mp_ierr) 1757 1771 if (mp_ierr /= 0) goto 600 -
src/netcdf_output_mod.f90
rd8107c2 r6a678e3 36 36 ! switch write_releases 37 37 ! - additional updates for FLEXPART 9.x 38 ! 39 ! ESO 2016 40 ! - Deposition fields can be calculated in double precision, see variable 41 ! 'dep_prec' in par_mod 38 42 !***************************************************************************** 39 43 … … 48 52 wetgrid,wetgridsigma,drygrid,drygridsigma,grid,gridsigma,& 49 53 area,arean,volumen, orooutn 50 use par_mod, only: d p, maxspec, maxreceptor, nclassunc,&54 use par_mod, only: dep_prec, sp, dp, maxspec, maxreceptor, nclassunc,& 51 55 unitoutrecept,unitoutreceptppt, nxmax,unittmp 52 56 use com_mod, only: path,length,ldirect,ibdate,ibtime,iedate,ietime, & … … 70 74 nested_output, ipout, surf_only, linit_cond, & 71 75 flexversion,mpi_mode 76 77 use mean_mod 72 78 73 79 implicit none … … 723 729 integer, intent(in) :: itime 724 730 real, intent(in) :: outnum 725 real, intent(out) :: gridtotalunc,wetgridtotalunc,drygridtotalunc 731 real(dep_prec),intent(out):: wetgridtotalunc,drygridtotalunc 732 real, intent(out) :: gridtotalunc 726 733 real :: densityoutrecept(maxreceptor) 727 734 integer :: ncid,kp,ks,kz,ix,jy,iix,jjy,kzz,kzzm1,ngrid 728 integer :: nage,i,l, 735 integer :: nage,i,l,jj 729 736 real :: tot_mu(maxspec,maxpointspec_act) 730 737 real :: halfheight,dz,dz1,dz2 731 738 real :: xl,yl,xlrot,ylrot,zagnd,zagndprev 732 real :: auxgrid(nclassunc),gridtotal,gridsigmatotal 733 real :: wetgridtotal,wetgridsigmatotal 734 real :: drygridtotal,drygridsigmatotal 739 real(dep_prec) :: auxgrid(nclassunc) 740 real(dep_prec) :: gridtotal,gridsigmatotal 741 real(dep_prec) :: wetgridtotal,wetgridsigmatotal 742 real(dep_prec) :: drygridtotal,drygridsigmatotal 743 ! real(sp) :: gridtotal,gridsigmatotal 744 ! real(sp) :: wetgridtotal,wetgridsigmatotal 745 ! real(sp) :: drygridtotal,drygridsigmatotal 735 746 736 747 real, parameter :: weightair=28.97 … … 889 900 wetgridsigma(ix,jy),nclassunc) 890 901 ! Multiply by number of classes to get total concentration 891 wetgrid(ix,jy)=wetgrid(ix,jy)*real(nclassunc )902 wetgrid(ix,jy)=wetgrid(ix,jy)*real(nclassunc,kind=dep_prec) 892 903 wetgridtotal=wetgridtotal+wetgrid(ix,jy) 893 904 ! Calculate standard deviation of the mean 894 905 wetgridsigma(ix,jy)= & 895 906 wetgridsigma(ix,jy)* & 896 sqrt(real(nclassunc ))907 sqrt(real(nclassunc,kind=dep_prec)) 897 908 wetgridsigmatotal=wetgridsigmatotal+ & 898 909 wetgridsigma(ix,jy) … … 1061 1072 integer, intent(in) :: itime 1062 1073 real, intent(in) :: outnum 1063 real, intent(out) :: gridtotalunc,wetgridtotalunc,drygridtotalunc 1074 real(sp), intent(out) :: gridtotalunc 1075 real(dep_prec), intent(out) :: wetgridtotalunc,drygridtotalunc 1064 1076 1065 1077 print*,'Netcdf output for surface only not yet implemented' … … 1117 1129 real :: halfheight,dz,dz1,dz2 1118 1130 real :: xl,yl,xlrot,ylrot,zagnd,zagndprev 1119 real :: auxgrid(nclassunc),gridtotal 1131 real(dep_prec) :: auxgrid(nclassunc) 1132 real :: gridtotal 1120 1133 real, parameter :: weightair=28.97 1121 1134 -
src/outg_mod.f90
rf13406c r6a678e3 22 22 module outg_mod 23 23 24 use par_mod, only: dep_prec 25 24 26 implicit none 25 27 … … 37 39 real,allocatable, dimension (:,:,:) :: factor3d 38 40 real,allocatable, dimension (:,:,:) :: grid 39 real ,allocatable, dimension (:,:) :: wetgrid40 real ,allocatable, dimension (:,:) :: drygrid41 real(dep_prec),allocatable, dimension (:,:) :: wetgrid 42 real(dep_prec),allocatable, dimension (:,:) :: drygrid 41 43 real,allocatable, dimension (:,:,:) :: gridsigma 42 real ,allocatable, dimension (:,:) :: drygridsigma43 real ,allocatable, dimension (:,:) :: wetgridsigma44 real(dep_prec),allocatable, dimension (:,:) :: drygridsigma 45 real(dep_prec),allocatable, dimension (:,:) :: wetgridsigma 44 46 real,allocatable, dimension (:) :: sparse_dump_r 45 47 real,allocatable, dimension (:) :: sparse_dump_u -
src/par_mod.f90
rfdc0f03 r6a678e3 41 41 42 42 !**************************************************************** 43 ! Parameter defining KIND parameter for double/single precision 44 ! 'cp' sets the precision for some internal calculations (sp or dp), 45 ! sp is default but dp can be used for increased precision. 46 ! WARNING: for now, do not use 'dp' 43 ! Parameters defining KIND parameter for double/single precision 47 44 !**************************************************************** 48 45 49 46 integer,parameter :: dp=selected_real_kind(P=15) 50 47 integer,parameter :: sp=selected_real_kind(6) 51 integer,parameter :: cp=sp ! sp is default 48 49 !**************************************************************** 50 ! dep_prec sets the precision for deposition calculations (sp or 51 ! dp). sp is default, dp can be used for increased precision. 52 !**************************************************************** 53 54 integer,parameter :: dep_prec=dp 52 55 53 56 !*********************************************************** … … 79 82 real,parameter :: hmixmin=100., hmixmax=4500., turbmesoscale=0.16 80 83 real,parameter :: d_trop=50., d_strat=0.1 81 real,parameter :: rho_water=1000 !ZHG 2015 [kg/m3]84 real,parameter :: rho_water=1000. !ZHG 2015 [kg/m3] 82 85 ! karman Karman's constant 83 86 ! href [m] Reference height for dry deposition -
src/plumetraj.f90
re200b7a r6a678e3 55 55 use par_mod 56 56 use com_mod 57 use mean_mod 57 58 58 59 implicit none -
src/timemanager.f90
rfdc0f03 r6a678e3 111 111 ! real :: us(maxpart),vs(maxpart),ws(maxpart) 112 112 ! integer(kind=2) :: cbt(maxpart) 113 real :: drydeposit(maxspec),gridtotalunc,wetgridtotalunc 114 real :: drygridtotalunc,xold,yold,zold,xmassfract 113 real(sp) :: gridtotalunc 114 real(dep_prec) :: drydeposit(maxspec),wetgridtotalunc,drygridtotalunc 115 real :: xold,yold,zold,xmassfract 115 116 real, parameter :: e_inv = 1.0/exp(1.0) 116 117 !double precision xm(maxspec,maxpointspec_act), … … 595 596 !ZHG 2015 596 597 !CGZ-lifetime: Check mass fraction left/save lifetime 597 ! if(real(npart(npoint(j)))*xmass1(j,ks)/xmass(npoint(j),ks).lt. inv_e.and.checklifetime(j,ks).eq.0.)then598 ! if(real(npart(npoint(j)))*xmass1(j,ks)/xmass(npoint(j),ks).lt.e_inv.and.checklifetime(j,ks).eq.0.)then 598 599 !Mass below 1% of initial >register lifetime 599 600 ! checklifetime(j,ks)=abs(itra1(j)-itramem(j)) -
src/timemanager_mpi.f90
rfdc0f03 r6a678e3 114 114 real :: decfact 115 115 116 real :: drydeposit(maxspec),gridtotalunc,wetgridtotalunc 117 real :: drygridtotalunc,xold,yold,zold,xmassfract 116 real(sp) :: gridtotalunc 117 real(dep_prec) :: drygridtotalunc,wetgridtotalunc,drydeposit(maxspec) 118 real :: xold,yold,zold,xmassfract 118 119 real, parameter :: e_inv = 1.0/exp(1.0) 119 120 !double precision xm(maxspec,maxpointspec_act), … … 261 262 ! TODO: z0(7) changes with time, so should be dimension (numclass,2) to 262 263 ! allow transfer of the future value in the background 263 call MPI_Bcast(z0,numclass,mp_ pp,id_read,MPI_COMM_WORLD,mp_ierr)264 call MPI_Bcast(z0,numclass,mp_sp,id_read,MPI_COMM_WORLD,mp_ierr) 264 265 call mpif_gf_request 265 266 end if … … 756 757 757 758 !CGZ-lifetime: Check mass fraction left/save lifetime 758 ! if(lroot.and.real(npart(npoint(j)))*xmass1(j,ks)/xmass(npoint(j),ks).lt. inv_e.and.checklifetime(j,ks).eq.0.)then759 ! if(lroot.and.real(npart(npoint(j)))*xmass1(j,ks)/xmass(npoint(j),ks).lt.e_inv.and.checklifetime(j,ks).eq.0.)then 759 760 !Mass below 1% of initial >register lifetime 760 761 ! checklifetime(j,ks)=abs(itra1(j)-itramem(j)) -
src/unc_mod.f90
rfdc0f03 r6a678e3 22 22 module unc_mod 23 23 24 use par_mod, only: cp24 use par_mod, only:dep_prec 25 25 26 26 implicit none … … 28 28 real,allocatable ,dimension (:,:,:,:,:,:,:) :: gridunc 29 29 real,allocatable, dimension (:,:,:,:,:,:,:) :: griduncn 30 real( cp),allocatable, dimension (:,:,:,:,:,:) :: drygridunc31 real( cp),allocatable, dimension (:,:,:,:,:,:) :: drygriduncn32 real( cp),allocatable, dimension (:,:,:,:,:,:) :: wetgridunc33 real( cp),allocatable, dimension (:,:,:,:,:,:) :: wetgriduncn30 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: drygridunc 31 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: drygriduncn 32 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: wetgridunc 33 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: wetgriduncn 34 34 35 35 ! For sum of individual contributions, used for the MPI version 36 real( cp),allocatable, dimension (:,:,:,:,:,:) :: drygridunc037 real( cp),allocatable, dimension (:,:,:,:,:,:) :: drygriduncn038 real( cp),allocatable, dimension (:,:,:,:,:,:) :: wetgridunc039 real( cp),allocatable, dimension (:,:,:,:,:,:) :: wetgriduncn036 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: drygridunc0 37 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: drygriduncn0 38 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: wetgridunc0 39 real(dep_prec),allocatable, dimension (:,:,:,:,:,:) :: wetgriduncn0 40 40 41 41 real,allocatable, dimension (:,:,:,:,:) :: init_cond -
src/verttransform.f90
r41d8574 r6a678e3 772 772 ! if (lsp.gt.convp) then ! prectype='lsp' 773 773 ! lconvectprec = .false. 774 ! else ! prectype='cp 774 ! else ! prectype='cp' 775 775 ! lconvectprec = .true. 776 776 ! endif
Note: See TracChangeset
for help on using the changeset viewer.