Changeset 2eefa58 in flexpart.git for src/concoutput_surf_nest.f90
- Timestamp:
- May 27, 2019, 3:28:44 PM (5 years ago)
- Branches:
- master, 10.4.1_pesei, GFS_025, bugfixes+enhancements, dev, release-10, release-10.4.1, scaling-bug
- Children:
- 6741557
- Parents:
- f963113
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/concoutput_surf_nest.f90
r6a678e3 r2eefa58 70 70 real :: sp_fact 71 71 real :: outnum,densityoutrecept(maxreceptor),xl,yl 72 ! RLT 73 real :: densitydryrecept(maxreceptor) 74 real :: factor_dryrecept(maxreceptor) 72 75 73 76 !real densityoutgrid(0:numxgrid-1,0:numygrid-1,numzgrid), … … 96 99 character :: adate*8,atime*6 97 100 character(len=3) :: anspec 98 101 logical :: lexist 99 102 100 103 ! Determine current calendar date, needed for the file name … … 159 162 densityoutgrid(ix,jy,kz)=(rho(iix,jjy,kzz,2)*dz1+ & 160 163 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 161 167 end do 162 168 end do … … 169 175 jjy=max(min(nint(yl),nymin1),0) 170 176 densityoutrecept(i)=rho(iix,jjy,1,2) 177 ! RLT 178 densitydryrecept(i)=rho_dry(iix,jjy,1,2) 171 179 end do 172 180 181 ! RLT 182 ! conversion factor for output relative to dry air 183 factor_drygrid=densityoutgrid/densitydrygrid 184 factor_dryrecept=densityoutrecept/densitydryrecept 173 185 174 186 ! Output is different for forward and backward simulations … … 317 329 write(unitoutgrid) sp_count_r 318 330 write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r) 319 write(unitoutgrid) sp_count_r320 write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)331 ! write(unitoutgrid) sp_count_r 332 ! write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r) 321 333 322 334 ! Dry deposition … … 354 366 write(unitoutgrid) sp_count_r 355 367 write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r) 356 write(unitoutgrid) sp_count_r357 write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)368 ! write(unitoutgrid) sp_count_r 369 ! write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r) 358 370 359 371 … … 399 411 write(unitoutgrid) sp_count_r 400 412 write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r) 401 write(unitoutgrid) sp_count_r402 write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)413 ! write(unitoutgrid) sp_count_r 414 ! write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r) 403 415 else 404 416 … … 440 452 write(unitoutgrid) sp_count_r 441 453 write(unitoutgrid) (sparse_dump_r(i),i=1,sp_count_r) 442 write(unitoutgrid) sp_count_r443 write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r)454 ! write(unitoutgrid) sp_count_r 455 ! write(unitoutgrid) (sparse_dump_u(i),i=1,sp_count_r) 444 456 endif ! surf_only 445 457 … … 487 499 write(unitoutgridppt) sp_count_r 488 500 write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r) 489 write(unitoutgridppt) sp_count_r490 write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)501 ! write(unitoutgridppt) sp_count_r 502 ! write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r) 491 503 492 504 … … 526 538 write(unitoutgridppt) sp_count_r 527 539 write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r) 528 write(unitoutgridppt) sp_count_r529 write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)540 ! write(unitoutgridppt) sp_count_r 541 ! write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r) 530 542 531 543 … … 570 582 write(unitoutgridppt) sp_count_r 571 583 write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r) 572 write(unitoutgridppt) sp_count_r573 write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)584 ! write(unitoutgridppt) sp_count_r 585 ! write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r) 574 586 else 575 587 … … 611 623 write(unitoutgridppt) sp_count_r 612 624 write(unitoutgridppt) (sparse_dump_r(i),i=1,sp_count_r) 613 write(unitoutgridppt) sp_count_r614 write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r)625 ! write(unitoutgridppt) sp_count_r 626 ! write(unitoutgridppt) (sparse_dump_u(i),i=1,sp_count_r) 615 627 endif ! surf_only 616 628 … … 624 636 625 637 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) 626 680 627 681
Note: See TracChangeset
for help on using the changeset viewer.