Changeset d6a245b in flexpart.git


Ignore:
Timestamp:
Dec 13, 2018, 6:17:39 PM (5 years ago)
Author:
Sabine <sabine.eckhardt@…>
Branches:
master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug
Children:
c7d1052
Parents:
79996be9
Message:

DOW, HOD species read in

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/readspecies.f90

    re9e0f06 rd6a245b  
    6969  real :: pdsigma, pdryvel, pweightmolar, pohcconst, pohdconst, pohnconst
    7070  real :: pcrain_aero, pcsnow_aero, pccn_aero, pin_aero
     71  real :: parea_dow(7), parea_hour(24), ppoint_dow(7), ppoint_hour(24)
    7172  integer :: readerror
    7273
     
    7677       pcrain_aero, pcsnow_aero, pccn_aero, pin_aero, &
    7778       preldiff, phenry, pf0, pdensity, pdquer, &
    78        pdsigma, pdryvel, pweightmolar, pohcconst, pohdconst, pohnconst
     79       pdsigma, pdryvel, pweightmolar, pohcconst, pohdconst, pohnconst, &
     80       parea_dow, parea_hour, ppoint_dow, ppoint_hour
    7981
    8082  pspecies="" ! read failure indicator value
     
    98100  pweightmolar=-999.9
    99101
     102  do j=1,24           ! initialize everything to no variation
     103    area_hour(pos_spec,j)=1.
     104    point_hour(pos_spec,j)=1.
     105  end do
     106  do j=1,7
     107    area_dow(pos_spec,j)=1.
     108    point_dow(pos_spec,j)=1.
     109  end do
     110
     111  if (readerror.ne.0) then ! text format input
    100112! Open the SPECIES file and read species names and properties
    101113!************************************************************
     
    163175!  write(*,*) ohnconst(pos_spec)
    164176
     177! Read in daily and day-of-week variation of emissions, if available
     178!*******************************************************************
     179
     180    read(unitspecies,*,end=22)
     181    do j=1,24     ! 24 hours, starting with 0-1 local time
     182      read(unitspecies,*) ihour,area_hour(pos_spec,j),point_hour(pos_spec,j)
     183    end do
     184    read(unitspecies,*)
     185    do j=1,7      ! 7 days of the week, starting with Monday
     186      read(unitspecies,*) idow,area_dow(pos_spec,j),point_dow(pos_spec,j)
     187    end do
     188
    165189    pspecies=species(pos_spec)
    166190    pdecay=decay(pos_spec)
     
    183207    pohnconst=ohnconst(pos_spec)
    184208
    185   else
     209
     210    do j=1,24     ! 24 hours, starting with 0-1 local time
     211      parea_hour(j)=area_hour(pos_spec,j)
     212      ppoint_hour(j)=point_hour(pos_spec,j)
     213    end do
     214    do j=1,7      ! 7 days of the week, starting with Monday
     215      parea_dow(j)=area_dow(pos_spec,j)
     216      ppoint_dow(j)=point_dow(pos_spec,j)
     217    end do
     218
     219  else ! namelist available
    186220
    187221    species(pos_spec)=pspecies
     
    204238    ohdconst(pos_spec)=pohdconst
    205239    ohnconst(pos_spec)=pohnconst
     240
     241    do j=1,24     ! 24 hours, starting with 0-1 local time
     242      area_hour(pos_spec,j)=parea_hour(j)
     243      point_hour(pos_spec,j)=ppoint_hour(j)
     244    end do
     245    do j=1,7      ! 7 days of the week, starting with Monday
     246      area_dow(pos_spec,j)=parea_dow(j)
     247      point_dow(pos_spec,j)=ppoint_dow(j)
     248    end do
     249
    206250  endif
    207251
     
    304348
    305349
    306 ! Read in daily and day-of-week variation of emissions, if available
    307 !*******************************************************************
    308 ! HSO: This is not yet implemented as namelist parameters
    309 
    310   do j=1,24           ! initialize everything to no variation
    311     area_hour(i,j)=1.
    312     point_hour(i,j)=1.
    313   end do
    314   do j=1,7
    315     area_dow(i,j)=1.
    316     point_dow(i,j)=1.
    317   end do
    318 
    319   if (readerror.ne.0) then ! text format input
    320 
    321     read(unitspecies,*,end=22)
    322     do j=1,24     ! 24 hours, starting with 0-1 local time
    323       read(unitspecies,*) ihour,area_hour(i,j),point_hour(i,j)
    324     end do
    325     read(unitspecies,*)
    326     do j=1,7      ! 7 days of the week, starting with Monday
    327       read(unitspecies,*) idow,area_dow(i,j),point_dow(i,j)
    328     end do
    329 
    330350  endif
    331351
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG