Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
flexpart
flexpart
Commits
d6a245b5
Commit
d6a245b5
authored
Dec 13, 2018
by
Sabine
Browse files
DOW, HOD species read in
parent
79996be9
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/readspecies.f90
View file @
d6a245b5
...
@@ -68,6 +68,7 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -68,6 +68,7 @@ subroutine readspecies(id_spec,pos_spec)
real
::
pdecay
,
pweta_gas
,
pwetb_gas
,
preldiff
,
phenry
,
pf0
,
pdensity
,
pdquer
real
::
pdecay
,
pweta_gas
,
pwetb_gas
,
preldiff
,
phenry
,
pf0
,
pdensity
,
pdquer
real
::
pdsigma
,
pdryvel
,
pweightmolar
,
pohcconst
,
pohdconst
,
pohnconst
real
::
pdsigma
,
pdryvel
,
pweightmolar
,
pohcconst
,
pohdconst
,
pohnconst
real
::
pcrain_aero
,
pcsnow_aero
,
pccn_aero
,
pin_aero
real
::
pcrain_aero
,
pcsnow_aero
,
pccn_aero
,
pin_aero
real
::
parea_dow
(
7
),
parea_hour
(
24
),
ppoint_dow
(
7
),
ppoint_hour
(
24
)
integer
::
readerror
integer
::
readerror
! declare namelist
! declare namelist
...
@@ -75,7 +76,8 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -75,7 +76,8 @@ subroutine readspecies(id_spec,pos_spec)
pspecies
,
pdecay
,
pweta_gas
,
pwetb_gas
,
&
pspecies
,
pdecay
,
pweta_gas
,
pwetb_gas
,
&
pcrain_aero
,
pcsnow_aero
,
pccn_aero
,
pin_aero
,
&
pcrain_aero
,
pcsnow_aero
,
pccn_aero
,
pin_aero
,
&
preldiff
,
phenry
,
pf0
,
pdensity
,
pdquer
,
&
preldiff
,
phenry
,
pf0
,
pdensity
,
pdquer
,
&
pdsigma
,
pdryvel
,
pweightmolar
,
pohcconst
,
pohdconst
,
pohnconst
pdsigma
,
pdryvel
,
pweightmolar
,
pohcconst
,
pohdconst
,
pohnconst
,
&
parea_dow
,
parea_hour
,
ppoint_dow
,
ppoint_hour
pspecies
=
""
! read failure indicator value
pspecies
=
""
! read failure indicator value
pdecay
=
-999.9
pdecay
=
-999.9
...
@@ -97,6 +99,16 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -97,6 +99,16 @@ subroutine readspecies(id_spec,pos_spec)
pohnconst
=
2.0
pohnconst
=
2.0
pweightmolar
=
-999.9
pweightmolar
=
-999.9
do
j
=
1
,
24
! initialize everything to no variation
area_hour
(
pos_spec
,
j
)
=
1.
point_hour
(
pos_spec
,
j
)
=
1.
end
do
do
j
=
1
,
7
area_dow
(
pos_spec
,
j
)
=
1.
point_dow
(
pos_spec
,
j
)
=
1.
end
do
if
(
readerror
.ne.
0
)
then
! text format input
! Open the SPECIES file and read species names and properties
! Open the SPECIES file and read species names and properties
!************************************************************
!************************************************************
specnum
(
pos_spec
)
=
id_spec
specnum
(
pos_spec
)
=
id_spec
...
@@ -162,6 +174,18 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -162,6 +174,18 @@ subroutine readspecies(id_spec,pos_spec)
read
(
unitspecies
,
'(f8.2)'
,
end
=
22
)
ohnconst
(
pos_spec
)
read
(
unitspecies
,
'(f8.2)'
,
end
=
22
)
ohnconst
(
pos_spec
)
! write(*,*) ohnconst(pos_spec)
! write(*,*) ohnconst(pos_spec)
! Read in daily and day-of-week variation of emissions, if available
!*******************************************************************
read
(
unitspecies
,
*
,
end
=
22
)
do
j
=
1
,
24
! 24 hours, starting with 0-1 local time
read
(
unitspecies
,
*
)
ihour
,
area_hour
(
pos_spec
,
j
),
point_hour
(
pos_spec
,
j
)
end
do
read
(
unitspecies
,
*
)
do
j
=
1
,
7
! 7 days of the week, starting with Monday
read
(
unitspecies
,
*
)
idow
,
area_dow
(
pos_spec
,
j
),
point_dow
(
pos_spec
,
j
)
end
do
pspecies
=
species
(
pos_spec
)
pspecies
=
species
(
pos_spec
)
pdecay
=
decay
(
pos_spec
)
pdecay
=
decay
(
pos_spec
)
pweta_gas
=
weta_gas
(
pos_spec
)
pweta_gas
=
weta_gas
(
pos_spec
)
...
@@ -182,7 +206,17 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -182,7 +206,17 @@ subroutine readspecies(id_spec,pos_spec)
pohdconst
=
ohdconst
(
pos_spec
)
pohdconst
=
ohdconst
(
pos_spec
)
pohnconst
=
ohnconst
(
pos_spec
)
pohnconst
=
ohnconst
(
pos_spec
)
else
do
j
=
1
,
24
! 24 hours, starting with 0-1 local time
parea_hour
(
j
)
=
area_hour
(
pos_spec
,
j
)
ppoint_hour
(
j
)
=
point_hour
(
pos_spec
,
j
)
end
do
do
j
=
1
,
7
! 7 days of the week, starting with Monday
parea_dow
(
j
)
=
area_dow
(
pos_spec
,
j
)
ppoint_dow
(
j
)
=
point_dow
(
pos_spec
,
j
)
end
do
else
! namelist available
species
(
pos_spec
)
=
pspecies
species
(
pos_spec
)
=
pspecies
decay
(
pos_spec
)
=
pdecay
decay
(
pos_spec
)
=
pdecay
...
@@ -203,6 +237,16 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -203,6 +237,16 @@ subroutine readspecies(id_spec,pos_spec)
ohcconst
(
pos_spec
)
=
pohcconst
ohcconst
(
pos_spec
)
=
pohcconst
ohdconst
(
pos_spec
)
=
pohdconst
ohdconst
(
pos_spec
)
=
pohdconst
ohnconst
(
pos_spec
)
=
pohnconst
ohnconst
(
pos_spec
)
=
pohnconst
do
j
=
1
,
24
! 24 hours, starting with 0-1 local time
area_hour
(
pos_spec
,
j
)
=
parea_hour
(
j
)
point_hour
(
pos_spec
,
j
)
=
ppoint_hour
(
j
)
end
do
do
j
=
1
,
7
! 7 days of the week, starting with Monday
area_dow
(
pos_spec
,
j
)
=
parea_dow
(
j
)
point_dow
(
pos_spec
,
j
)
=
ppoint_dow
(
j
)
end
do
endif
endif
i
=
pos_spec
i
=
pos_spec
...
@@ -303,30 +347,6 @@ subroutine readspecies(id_spec,pos_spec)
...
@@ -303,30 +347,6 @@ subroutine readspecies(id_spec,pos_spec)
20
continue
20
continue
! Read in daily and day-of-week variation of emissions, if available
!*******************************************************************
! HSO: This is not yet implemented as namelist parameters
do
j
=
1
,
24
! initialize everything to no variation
area_hour
(
i
,
j
)
=
1.
point_hour
(
i
,
j
)
=
1.
end
do
do
j
=
1
,
7
area_dow
(
i
,
j
)
=
1.
point_dow
(
i
,
j
)
=
1.
end
do
if
(
readerror
.ne.
0
)
then
! text format input
read
(
unitspecies
,
*
,
end
=
22
)
do
j
=
1
,
24
! 24 hours, starting with 0-1 local time
read
(
unitspecies
,
*
)
ihour
,
area_hour
(
i
,
j
),
point_hour
(
i
,
j
)
end
do
read
(
unitspecies
,
*
)
do
j
=
1
,
7
! 7 days of the week, starting with Monday
read
(
unitspecies
,
*
)
idow
,
area_dow
(
i
,
j
),
point_dow
(
i
,
j
)
end
do
endif
endif
22
close
(
unitspecies
)
22
close
(
unitspecies
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment