Changes in src/concoutput_surf_nest.f90 [2eefa58:6a678e3] in flexpart.git


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/concoutput_surf_nest.f90

    r2eefa58 r6a678e3  
    7070  real :: sp_fact
    7171  real :: outnum,densityoutrecept(maxreceptor),xl,yl
    72 ! RLT
    73   real :: densitydryrecept(maxreceptor)
    74   real :: factor_dryrecept(maxreceptor)
    7572
    7673  !real densityoutgrid(0:numxgrid-1,0:numygrid-1,numzgrid),
     
    9996  character :: adate*8,atime*6
    10097  character(len=3) :: anspec
    101   logical :: lexist
     98
    10299
    103100  ! Determine current calendar date, needed for the file name
     
    162159        densityoutgrid(ix,jy,kz)=(rho(iix,jjy,kzz,2)*dz1+ &
    163160             rho(iix,jjy,kzz-1,2)*dz2)/dz
    164 ! RLT
    165         densitydrygrid(ix,jy,kz)=(rho_dry(iix,jjy,kzz,2)*dz1+ &
    166              rho_dry(iix,jjy,kzz-1,2)*dz2)/dz
    167161      end do
    168162    end do
     
    175169      jjy=max(min(nint(yl),nymin1),0)
    176170      densityoutrecept(i)=rho(iix,jjy,1,2)
    177 ! RLT
    178     densitydryrecept(i)=rho_dry(iix,jjy,1,2)
    179171    end do
    180172
    181 ! RLT
    182 ! conversion factor for output relative to dry air
    183   factor_drygrid=densityoutgrid/densitydrygrid
    184   factor_dryrecept=densityoutrecept/densitydryrecept
    185173
    186174  ! Output is different for forward and backward simulations
     
    329317         write(unitoutgrid) sp_count_r
    330318         write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r)
    331 !         write(unitoutgrid) sp_count_r
    332 !         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
     319         write(unitoutgrid) sp_count_r
     320         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
    333321
    334322  ! Dry deposition
     
    366354         write(unitoutgrid) sp_count_r
    367355         write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r)
    368 !         write(unitoutgrid) sp_count_r
    369 !         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
     356         write(unitoutgrid) sp_count_r
     357         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
    370358
    371359
     
    411399         write(unitoutgrid) sp_count_r
    412400         write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r)
    413 !         write(unitoutgrid) sp_count_r
    414 !         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
     401         write(unitoutgrid) sp_count_r
     402         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
    415403         else
    416404
     
    452440         write(unitoutgrid) sp_count_r
    453441         write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r)
    454 !         write(unitoutgrid) sp_count_r
    455 !         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
     442         write(unitoutgrid) sp_count_r
     443         write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)
    456444         endif ! surf_only
    457445
     
    499487         write(unitoutgridppt) sp_count_r
    500488         write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r)
    501 !         write(unitoutgridppt) sp_count_r
    502 !         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
     489         write(unitoutgridppt) sp_count_r
     490         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
    503491
    504492
     
    538526         write(unitoutgridppt) sp_count_r
    539527         write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r)
    540 !         write(unitoutgridppt) sp_count_r
    541 !         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
     528         write(unitoutgridppt) sp_count_r
     529         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
    542530
    543531
     
    582570         write(unitoutgridppt) sp_count_r
    583571         write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r)
    584 !         write(unitoutgridppt) sp_count_r
    585 !         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
     572         write(unitoutgridppt) sp_count_r
     573         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
    586574         else
    587575
     
    623611         write(unitoutgridppt) sp_count_r
    624612         write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r)
    625 !         write(unitoutgridppt) sp_count_r
    626 !         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
     613         write(unitoutgridppt) sp_count_r
     614         write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)
    627615         endif ! surf_only
    628616
     
    636624
    637625  end do
    638 
    639 ! RLT Aug 2017
    640 ! Write out conversion factor for dry air
    641   inquire(file=path(2)(1:length(2))//'factor_drygrid_nest',exist=lexist)
    642   if (lexist) then
    643     ! open and append
    644     open(unitoutfactor,file=path(2)(1:length(2))//'factor_drygrid_nest',form='unformatted',&
    645             status='old',action='write',access='append')
    646   else
    647     ! create new
    648     open(unitoutfactor,file=path(2)(1:length(2))//'factor_drygrid_nest',form='unformatted',&
    649             status='new',action='write')
    650   endif
    651   sp_count_i=0
    652   sp_count_r=0
    653   sp_fact=-1.
    654   sp_zer=.true.
    655   do kz=1,1
    656     do jy=0,numygridn-1
    657       do ix=0,numxgridn-1
    658         if (factor_drygrid(ix,jy,kz).gt.(1.+smallnum).or.factor_drygrid(ix,jy,kz).lt.(1.-smallnum)) then
    659           if (sp_zer.eqv..true.) then ! first value not equal to one
    660             sp_count_i=sp_count_i+1
    661             sparse_dump_i(sp_count_i)= &
    662                   ix+jy*numxgridn+kz*numxgridn*numygridn
    663             sp_zer=.false.
    664             sp_fact=sp_fact*(-1.)
    665           endif
    666           sp_count_r=sp_count_r+1
    667           sparse_dump_r(sp_count_r)= &
    668                sp_fact*factor_drygrid(ix,jy,kz)
    669         else ! factor is one
    670           sp_zer=.true.
    671         endif
    672       end do
    673     end do
    674   end do
    675   write(unitoutfactor) sp_count_i
    676   write(unitoutfactor) (sparse_dump_i(i),i=1,sp_count_i)
    677   write(unitoutfactor) sp_count_r
    678   write(unitoutfactor) (sparse_dump_r(i),i=1,sp_count_r)
    679   close(unitoutfactor)
    680626
    681627
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG