Commit 46706c74 authored by Sabine's avatar Sabine
Browse files

Merge branch 'dev' of git.nilu.no:flexpart/flexpart into dev

parents 35fa90d3 0f7835d0
...@@ -231,7 +231,7 @@ subroutine boundcond_domainfill(itime,loutend) ...@@ -231,7 +231,7 @@ subroutine boundcond_domainfill(itime,loutend)
endif endif
do m=1,mmass do m=1,mmass
do ipart=minpart,maxpart do ipart=minpart,maxpart_mpi
! If a vacant storage space is found, attribute everything to this array element ! If a vacant storage space is found, attribute everything to this array element
!***************************************************************************** !*****************************************************************************
...@@ -330,7 +330,7 @@ subroutine boundcond_domainfill(itime,loutend) ...@@ -330,7 +330,7 @@ subroutine boundcond_domainfill(itime,loutend)
goto 73 ! Storage space has been found, stop searching goto 73 ! Storage space has been found, stop searching
endif endif
end do end do
if (ipart.gt.maxpart) & if (ipart.gt.maxpart_mpi) &
stop 'boundcond_domainfill.f: too many particles required' stop 'boundcond_domainfill.f: too many particles required'
73 minpart=ipart+1 73 minpart=ipart+1
71 continue 71 continue
...@@ -463,7 +463,7 @@ subroutine boundcond_domainfill(itime,loutend) ...@@ -463,7 +463,7 @@ subroutine boundcond_domainfill(itime,loutend)
endif endif
do m=1,mmass do m=1,mmass
do ipart=minpart,maxpart do ipart=minpart,maxpart_mpi
! If a vacant storage space is found, attribute everything to this array element ! If a vacant storage space is found, attribute everything to this array element
!***************************************************************************** !*****************************************************************************
...@@ -561,7 +561,7 @@ subroutine boundcond_domainfill(itime,loutend) ...@@ -561,7 +561,7 @@ subroutine boundcond_domainfill(itime,loutend)
goto 173 ! Storage space has been found, stop searching goto 173 ! Storage space has been found, stop searching
endif endif
end do end do
if (ipart.gt.maxpart) & if (ipart.gt.maxpart_mpi) &
stop 'boundcond_domainfill.f: too many particles required' stop 'boundcond_domainfill.f: too many particles required'
173 minpart=ipart+1 173 minpart=ipart+1
171 continue 171 continue
......
...@@ -304,12 +304,12 @@ subroutine init_domainfill ...@@ -304,12 +304,12 @@ subroutine init_domainfill
end do end do
! Check whether numpart is really smaller than maxpart ! Check whether numpart is really smaller than maxpart per process
!***************************************************** !*****************************************************************
if (numpart.gt.maxpart) then if (numpart.gt.maxpart_mpi) then
write(*,*) 'numpart too large: change source in init_atm_mass.f' write(*,*) 'numpart too large: change source in init_atm_mass.f'
write(*,*) 'numpart: ',numpart,' maxpart: ',maxpart write(*,*) 'numpart: ',numpart,' maxpart: ',maxpart_mpi
endif endif
......
...@@ -2443,79 +2443,4 @@ contains ...@@ -2443,79 +2443,4 @@ contains
end subroutine write_data_dbg end subroutine write_data_dbg
subroutine set_fields_synthetic()
!*******************************************************************************
! DESCRIPTION
! Set all meteorological fields to synthetic (usually constant/homogeneous)
! values.
! Used for validation and error-checking
!
! NOTE
! This version uses asynchronious communications.
!
! VARIABLES
!
!
!
!*******************************************************************************
use com_mod
implicit none
integer :: li=1, ui=2 ! wfmem indices (i.e, operate on entire field)
if (.not.lmp_sync) ui=3
! Variables transferred at initialization only
!*********************************************
! readclouds=readclouds_
oro(:,:)=0.0
excessoro(:,:)=0.0
lsm(:,:)=0.0
xlanduse(:,:,:)=0.0
! wftime
! numbwf
! nmixz
! height
! Time-varying fields:
uu(:,:,:,li:ui) = 10.0
vv(:,:,:,li:ui) = 0.0
uupol(:,:,:,li:ui) = 10.0
vvpol(:,:,:,li:ui)=0.0
ww(:,:,:,li:ui)=0.
tt(:,:,:,li:ui)=300.
rho(:,:,:,li:ui)=1.3
drhodz(:,:,:,li:ui)=.0
tth(:,:,:,li:ui)=0.0
qvh(:,:,:,li:ui)=1.0
qv(:,:,:,li:ui)=1.0
pv(:,:,:,li:ui)=1.0
clouds(:,:,:,li:ui)=0
clwc(:,:,:,li:ui)=0.0
ciwc(:,:,:,li:ui)=0.0
! 2D fields
cloudsh(:,:,li:ui)=0
vdep(:,:,:,li:ui)=0.0
ps(:,:,:,li:ui)=1.0e5
sd(:,:,:,li:ui)=0.0
tcc(:,:,:,li:ui)=0.0
tt2(:,:,:,li:ui)=300.
td2(:,:,:,li:ui)=250.
lsprec(:,:,:,li:ui)=0.0
convprec(:,:,:,li:ui)=0.0
ustar(:,:,:,li:ui)=1.0
wstar(:,:,:,li:ui)=1.0
hmix(:,:,:,li:ui)=10000.
tropopause(:,:,:,li:ui)=10000.
oli(:,:,:,li:ui)=0.01
end subroutine set_fields_synthetic
end module mpi_mod end module mpi_mod
...@@ -274,12 +274,6 @@ subroutine timemanager ...@@ -274,12 +274,6 @@ subroutine timemanager
if (mp_measure_time.and..not.(lmpreader.and.lmp_use_reader)) call mpif_mtime('getfields',1) if (mp_measure_time.and..not.(lmpreader.and.lmp_use_reader)) call mpif_mtime('getfields',1)
! For validation and tests: call the function below to set all fields to simple
! homogeneous values
! if (mp_dev_mode) call set_fields_synthetic
!*******************************************************************************
if (lmpreader.and.nstop1.gt.1) stop 'NO METEO FIELDS AVAILABLE' if (lmpreader.and.nstop1.gt.1) stop 'NO METEO FIELDS AVAILABLE'
! Reader process goes back to top of time loop (unless simulation end) ! Reader process goes back to top of time loop (unless simulation end)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment