Changeset f3054ea in flexpart.git
- Timestamp:
- Aug 27, 2020, 8:00:15 PM (4 years ago)
- Branches:
- GFS_025, dev
- Children:
- 4ab2fbf
- Parents:
- a756649
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
pathnames
ra756649 rf3054ea 1 ./options _test/2 ./output _test/3 /4 /xnilu_wrk/flex_wrk/WIND_FIELDS/AVAILABLE_ECMWF_OPER_fields_global 1 ./options/ 2 ./output/ 3 ./preprocess/flex_extract/work/ 4 ./AVAILABLE -
src/FLEXPART.f90
ra756649 rf3054ea 83 83 verbosity=0 84 84 85 write(*,*) "flexversion: ", flexversion86 87 85 ! Read the pathnames where input/output files are stored 88 86 !******************************************************* -
src/concoutput_mpi.f90
r6741557 rf3054ea 77 77 real :: sp_fact 78 78 real :: outnum,densityoutrecept(maxreceptor),xl,yl 79 ! RLT 80 real :: densitydryrecept(maxreceptor) 81 real :: factor_dryrecept(maxreceptor) 79 82 80 83 !real densityoutgrid(0:numxgrid-1,0:numygrid-1,numzgrid), … … 111 114 character(LEN=8),save :: file_stat='REPLACE' 112 115 logical :: ldates_file 116 logical :: lexist 113 117 integer :: ierr 114 118 character(LEN=100) :: dates_char … … 212 216 densityoutgrid(ix,jy,kz)=(rho(iix,jjy,kzz,mind)*dz1+ & 213 217 rho(iix,jjy,kzz-1,mind)*dz2)/dz 218 ! RLT 219 densitydrygrid(ix,jy,kz)=(rho_dry(iix,jjy,kzz,mind)*dz1+ & 220 rho_dry(iix,jjy,kzz-1,mind)*dz2)/dz 214 221 end do 215 222 end do … … 223 230 !densityoutrecept(i)=rho(iix,jjy,1,2) 224 231 densityoutrecept(i)=rho(iix,jjy,1,mind) 232 ! RLT 233 densitydryrecept(i)=rho_dry(iix,jjy,1,mind) 225 234 end do 226 235 236 ! RLT 237 ! conversion factor for output relative to dry air 238 factor_drygrid=densityoutgrid/densitydrygrid 239 factor_dryrecept=densityoutrecept/densitydryrecept 227 240 228 241 ! Output is different for forward and backward simulations … … 277 290 write(unitoutgrid) itime 278 291 endif 279 280 292 if ((iout.eq.2).or.(iout.eq.3)) then ! mixing ratio 281 293 open(unitoutgridppt,file=path(2)(1:length(2))//'grid_pptv_'//adate// & 282 294 atime//'_'//anspec,form='unformatted') 283 284 295 write(unitoutgridppt) itime 285 296 endif … … 625 636 end do 626 637 638 ! RLT Aug 2017 639 ! Write out conversion factor for dry air 640 inquire(file=path(2)(1:length(2))//'factor_drygrid',exist=lexist) 641 if (lexist) then 642 ! open and append 643 open(unitoutfactor,file=path(2)(1:length(2))//'factor_drygrid',form='unformatted',& 644 status='old',action='write',access='append') 645 else 646 ! create new 647 open(unitoutfactor,file=path(2)(1:length(2))//'factor_drygrid',form='unformatted',& 648 status='new',action='write') 649 endif 650 sp_count_i=0 651 sp_count_r=0 652 sp_fact=-1. 653 sp_zer=.true. 654 do kz=1,numzgrid 655 do jy=0,numygrid-1 656 do ix=0,numxgrid-1 657 if (factor_drygrid(ix,jy,kz).gt.(1.+smallnum).or.factor_drygrid(ix,jy,kz).lt.(1.-smallnum)) then 658 if (sp_zer.eqv..true.) then ! first value not equal to one 659 sp_count_i=sp_count_i+1 660 sparse_dump_i(sp_count_i)= & 661 ix+jy*numxgrid+kz*numxgrid*numygrid 662 sp_zer=.false. 663 sp_fact=sp_fact*(-1.) 664 endif 665 sp_count_r=sp_count_r+1 666 sparse_dump_r(sp_count_r)= & 667 sp_fact*factor_drygrid(ix,jy,kz) 668 else ! factor is one 669 sp_zer=.true. 670 endif 671 end do 672 end do 673 end do 674 write(unitoutfactor) sp_count_i 675 write(unitoutfactor) (sparse_dump_i(i),i=1,sp_count_i) 676 write(unitoutfactor) sp_count_r 677 write(unitoutfactor) (sparse_dump_r(i),i=1,sp_count_r) 678 close(unitoutfactor) 679 680 627 681 if (gridtotal.gt.0.) gridtotalunc=gridsigmatotal/gridtotal 628 682 if (wetgridtotal.gt.0.) wetgridtotalunc=wetgridsigmatotal/ & … … 651 705 endif 652 706 653 707 ! RLT Aug 2017 708 ! Write out conversion factor for dry air 709 if (numreceptor.gt.0) then 710 inquire(file=path(2)(1:length(2))//'factor_dryreceptor',exist=lexist) 711 if (lexist) then 712 ! open and append 713 open(unitoutfactor,file=path(2)(1:length(2))//'factor_dryreceptor',form='unformatted',& 714 status='old',action='write',access='append') 715 else 716 ! create new 717 open(unitoutfactor,file=path(2)(1:length(2))//'factor_dryreceptor',form='unformatted',& 718 status='new',action='write') 719 endif 720 write(unitoutfactor) itime 721 write(unitoutfactor) (factor_dryrecept(i),i=1,numreceptor) 722 close(unitoutfactor) 723 endif 654 724 655 725 ! Reinitialization of grid -
src/concoutput_nest.f90
r2eefa58 rf3054ea 606 606 close(unitoutfactor) 607 607 608 609 608 ! Reinitialization of grid 610 609 !************************* -
src/concoutput_nest_mpi.f90
r16b61a5 rf3054ea 58 58 !***************************************************************************** 59 59 60 61 60 use unc_mod 62 61 use point_mod … … 74 73 real :: sp_fact 75 74 real :: outnum,densityoutrecept(maxreceptor),xl,yl 75 ! RLT 76 real :: densitydryrecept(maxreceptor) 77 real :: factor_dryrecept(maxreceptor) 76 78 77 79 !real densityoutgrid(0:numxgrid-1,0:numygrid-1,numzgrid), … … 100 102 character :: adate*8,atime*6 101 103 character(len=3) :: anspec 104 logical :: lexist 102 105 integer :: mind 103 106 ! mind eso:added to ensure identical results between 2&3-fields versions … … 176 179 densityoutgrid(ix,jy,kz)=(rho(iix,jjy,kzz,mind)*dz1+ & 177 180 rho(iix,jjy,kzz-1,mind)*dz2)/dz 181 ! RLT 182 densitydrygrid(ix,jy,kz)=(rho_dry(iix,jjy,kzz,mind)*dz1+ & 183 rho_dry(iix,jjy,kzz-1,mind)*dz2)/dz 178 184 end do 179 185 end do … … 187 193 !densityoutrecept(i)=rho(iix,jjy,1,2) 188 194 densityoutrecept(i)=rho(iix,jjy,1,mind) 195 ! RLT 196 densitydryrecept(i)=rho_dry(iix,jjy,1,mind) 189 197 end do 190 198 199 ! RLT 200 ! conversion factor for output relative to dry air 201 factor_drygrid=densityoutgrid/densitydrygrid 202 factor_dryrecept=densityoutrecept/densitydryrecept 191 203 192 204 ! Output is different for forward and backward simulations … … 211 223 212 224 write(anspec,'(i3.3)') ks 225 226 if (DRYBKDEP.or.WETBKDEP) then !scavdep output 227 if (DRYBKDEP) & 228 open(unitoutgrid,file=path(2)(1:length(2))//'grid_drydep_nest_'//adate// & 229 atime//'_'//anspec,form='unformatted') 230 if (WETBKDEP) & 231 open(unitoutgrid,file=path(2)(1:length(2))//'grid_wetdep_nest_'//adate// & 232 atime//'_'//anspec,form='unformatted') 233 write(unitoutgrid) itime 234 else 213 235 if ((iout.eq.1).or.(iout.eq.3).or.(iout.eq.5)) then 214 236 if (ldirect.eq.1) then … … 223 245 write(unitoutgrid) itime 224 246 endif 247 endif 225 248 226 249 if ((iout.eq.2).or.(iout.eq.3)) then ! mixing ratio … … 553 576 end do 554 577 555 556 557 ! Reinitialization of grid 558 !************************* 559 560 do ks=1,nspec 561 do kp=1,maxpointspec_act 562 do i=1,numreceptor 563 creceptor(i,ks)=0. 564 end do 565 do jy=0,numygridn-1 566 do ix=0,numxgridn-1 567 do l=1,nclassunc 568 do nage=1,nageclass 569 do kz=1,numzgrid 570 griduncn(ix,jy,kz,ks,kp,l,nage)=0. 571 end do 572 end do 573 end do 574 end do 578 ! RLT Aug 2017 579 ! Write out conversion factor for dry air 580 inquire(file=path(2)(1:length(2))//'factor_drygrid_nest',exist=lexist) 581 if (lexist) then 582 ! open and append 583 open(unitoutfactor,file=path(2)(1:length(2))//'factor_drygrid_nest',form='unformatted',& 584 status='old',action='write',access='append') 585 else 586 ! create new 587 open(unitoutfactor,file=path(2)(1:length(2))//'factor_drygrid_nest',form='unformatted',& 588 status='new',action='write') 589 endif 590 sp_count_i=0 591 sp_count_r=0 592 sp_fact=-1. 593 sp_zer=.true. 594 do kz=1,numzgrid 595 do jy=0,numygridn-1 596 do ix=0,numxgridn-1 597 if (factor_drygrid(ix,jy,kz).gt.(1.+smallnum).or.factor_drygrid(ix,jy,kz).lt.(1.-smallnum)) then 598 if (sp_zer.eqv..true.) then ! first value not equal to one 599 sp_count_i=sp_count_i+1 600 sparse_dump_i(sp_count_i)= & 601 ix+jy*numxgridn+kz*numxgridn*numygridn 602 sp_zer=.false. 603 sp_fact=sp_fact*(-1.) 604 endif 605 sp_count_r=sp_count_r+1 606 sparse_dump_r(sp_count_r)= & 607 sp_fact*factor_drygrid(ix,jy,kz) 608 else ! factor is one 609 sp_zer=.true. 610 endif 575 611 end do 576 612 end do 577 613 end do 578 614 write(unitoutfactor) sp_count_i 615 write(unitoutfactor) (sparse_dump_i(i),i=1,sp_count_i) 616 write(unitoutfactor) sp_count_r 617 write(unitoutfactor) (sparse_dump_r(i),i=1,sp_count_r) 618 close(unitoutfactor) 619 620 ! Reinitialization of grid 621 !************************* 622 623 ! do ks=1,nspec 624 ! do kp=1,maxpointspec_act 625 ! do i=1,numreceptor 626 ! creceptor(i,ks)=0. 627 ! end do 628 ! do jy=0,numygridn-1 629 ! do ix=0,numxgridn-1 630 ! do l=1,nclassunc 631 ! do nage=1,nageclass 632 ! do kz=1,numzgrid 633 ! griduncn(ix,jy,kz,ks,kp,l,nage)=0. 634 ! end do 635 ! end do 636 ! end do 637 ! end do 638 ! end do 639 ! end do 640 ! end do 641 creceptor(:,:)=0. 642 griduncn(:,:,:,:,:,:,:)=0. 643 579 644 if (mp_measure_time) call mpif_mtime('iotime',1) 580 645 ! if (mp_measure_time) then -
src/concoutput_surf_nest_mpi.f90
r38b7917 rf3054ea 651 651 652 652 do ks=1,nspec 653 do kp=1,maxpointspec_act 654 do i=1,numreceptor 655 creceptor(i,ks)=0. 656 end do 657 do jy=0,numygridn-1 658 do ix=0,numxgridn-1 659 do l=1,nclassunc 660 do nage=1,nageclass 661 do kz=1,numzgrid 662 griduncn(ix,jy,kz,ks,kp,l,nage)=0. 653 do kp=1,maxpointspec_act 654 do i=1,numreceptor 655 creceptor(i,ks)=0. 656 end do 657 do jy=0,numygridn-1 658 do ix=0,numxgridn-1 659 do l=1,nclassunc 660 do nage=1,nageclass 661 do kz=1,numzgrid 662 griduncn(ix,jy,kz,ks,kp,l,nage)=0. 663 end do 663 664 end do 664 665 end do … … 666 667 end do 667 668 end do 668 end do669 669 end do 670 670 -
src/makefile
rc56da45 rf3054ea 63 63 else 64 64 # Compiled libraries under user ~flexpart, gfortran v5.4 65 ROOT_DIR = /homevip/flexpart/65 # ROOT_DIR = /homevip/flexpart/ 66 66 67 67 F90 = /usr/bin/gfortran 68 68 MPIF90 = /usr/bin/mpifort 69 69 70 INCPATH1 = ${ROOT_DIR}/gcc-5.4.0/include 70 # INCPATH1 = ${ROOT_DIR}/gcc-5.4.0/include 71 # INCPATH2 = /usr/include 72 # LIBPATH1 = ${ROOT_DIR}/gcc-5.4.0/lib 73 INCPATH1 = /usr/include 71 74 INCPATH2 = /usr/include 72 LIBPATH1 = ${ROOT_DIR}/gcc-5.4.0/lib73 75 endif 74 76 … … 92 94 93 95 ## LIBRARIES 94 #LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper -lnetcdff 95 LIBS = -lgrib_api_f90 -lgrib_api -lm -ljasper $(NCOPT) 96 LIBS = -leccodes -leccodes_f90 -lm $(NCOPT) 96 97 97 98 FFLAGS = -I$(INCPATH1) -I$(INCPATH2) -O$(O_LEV) -g -cpp -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O$(O_LEV) $(NCOPT) $(FUSER) #-Warray-bounds -fcheck=all # -march=native … … 128 129 redist.o \ 129 130 concoutput_surf.o concoutput_surf_nest.o \ 130 concoutput_inversion_nest.o \131 concoutput_inversion.o \132 131 getfields.o \ 133 readwind_ecmwf.o 132 readwind_ecmwf.o \ 133 initial_cond_output.o \ 134 initial_cond_output_inversion.o 134 135 135 136 ## For MPI version … … 145 146 concoutput_surf_mpi.o concoutput_surf_nest_mpi.o \ 146 147 getfields_mpi.o \ 147 readwind_ecmwf_mpi.o 148 readwind_ecmwf_mpi.o \ 149 initial_cond_output_mpi.o \ 150 initial_cond_output_inversion_mpi.o 148 151 149 152 OBJECTS_NCF = netcdf_output_mod.o 150 153 151 154 OBJECTS = \ 155 initial_cond_calc.o \ 152 156 advance.o initialize.o \ 153 157 writeheader.o writeheader_txt.o \ … … 202 206 drydepokernel_nest.o zenithangle.o \ 203 207 ohreaction.o getvdep_nests.o \ 204 initial_cond_calc.o initial_cond_output.o initial_cond_output_inversion.o \205 208 dynamic_viscosity.o get_settling.o \ 206 209 initialize_cbl_vel.o re_initialize_particle.o \ 207 cbl.o 210 cbl.o \ 211 concoutput_inversion_nest.o \ 212 concoutput_inversion.o \ 213 208 214 209 215 ifeq ($(ncf), yes) … … 325 331 init_domainfill_mpi.o: com_mod.o mpi_mod.o par_mod.o point_mod.o random_mod.o 326 332 initial_cond_calc.o: com_mod.o outg_mod.o par_mod.o unc_mod.o 333 initial_cond_calc_mpi.o: com_mod.o outg_mod.o par_mod.o unc_mod.o 327 334 initial_cond_output.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o 335 initial_cond_output_mpi.o: com_mod.o outg_mod.o par_mod.o point_mod.o unc_mod.o mpi_mod.o 328 336 initial_cond_output_inversion.o: com_mod.o outg_mod.o par_mod.o point_mod.o \ 337 unc_mod.o 338 initial_cond_output_inversion_mpi.o: com_mod.o outg_mod.o par_mod.o point_mod.o \ 329 339 unc_mod.o 330 340 initialize.o: com_mod.o hanna_mod.o interpol_mod.o par_mod.o random_mod.o -
src/mpi_mod.f90
r0c8c7f2 rf3054ea 2597 2597 601 end subroutine mpif_tm_reduce_grid_nest 2598 2598 2599 2600 subroutine mpif_tm_reduce_initcond 2601 !*********************************************************************** 2602 ! Collect init_cond to PID 0, adding from all processes. 2603 ! 2604 ! 2605 !*********************************************************************** 2606 use com_mod 2607 use unc_mod 2608 use par_mod 2609 2610 implicit none 2611 2612 integer :: grid_size 2613 2614 !********************************************************************** 2615 2616 grid_size=numxgrid*numygrid*numzgrid*maxspec* & 2617 & maxpointspec_act 2618 2619 ! Time for MPI communications 2620 if (mp_measure_time) call mpif_mtime('commtime',0) 2621 2622 2623 #ifdef USE_MPIINPLACE 2624 ! Using in-place reduction 2625 if (lroot) then 2626 call MPI_Reduce(MPI_IN_PLACE, init_cond, grid_size, mp_sp, MPI_SUM, id_root, & 2627 & mp_comm_used, mp_ierr) 2628 if (mp_ierr /= 0) goto 600 2629 else 2630 call MPI_Reduce(init_cond, 0, grid_size, mp_sp, MPI_SUM, id_root, & 2631 & mp_comm_used, mp_ierr) 2632 if (mp_ierr /= 0) goto 600 2633 end if 2634 2635 #else 2636 call MPI_Reduce(init_cond, init_cond0, grid_size, mp_sp, MPI_SUM, id_root, & 2637 & mp_comm_used, mp_ierr) 2638 if (mp_ierr /= 0) goto 600 2639 ! if (lroot) init_cond = init_cond0 2640 #endif 2641 2642 if (mp_measure_time) call mpif_mtime('commtime',1) 2643 2644 goto 601 2645 2646 600 write(*,*) "mpi_mod> mp_ierr \= 0", mp_ierr 2647 stop 2648 2649 601 end subroutine mpif_tm_reduce_initcond 2650 2599 2651 2600 2652 subroutine mpif_mtime(ident,imode) -
src/outgrid_init.f90
r2eefa58 rf3054ea 315 315 maxpointspec_act),stat=stat) 316 316 if (stat.ne.0) write(*,*)'ERROR: could not allocate init_cond' 317 if (mpi_mode.gt.0) then 318 if (lroot) then 319 allocate(init_cond0(0:numxgrid-1,0:numygrid-1,numzgrid,maxspec, & 320 maxpointspec_act),stat=stat) 321 else 322 allocate(init_cond0(1,1,1,1,1)) 323 end if 324 end if 317 325 endif 318 326 -
src/timemanager.f90
ra756649 rf3054ea 108 108 implicit none 109 109 110 integer(selected_int_kind(16)) :: idummy,idummy2 110 111 integer :: metdata_format 111 112 integer :: j,ks,kp,l,n,itime=0,nstop,nstop1 112 113 ! integer :: ksp 113 114 integer :: loutnext,loutstart,loutend 114 integer :: ix,jy,ldeltat,itage,nage ,idummy,idummy2115 integer :: ix,jy,ldeltat,itage,nage 115 116 integer :: i_nan=0,ii_nan,total_nan_intl=0 !added by mc to check instability in CBL scheme 116 117 real :: outnum,weight,prob_rec(maxspec),prob(maxspec),decfact,wetscav … … 397 398 call concoutput(itime,outnum,gridtotalunc,wetgridtotalunc,drygridtotalunc) 398 399 endif 399 else 400 else ! surf only 400 401 if (verbosity.eq.1) then 401 print*,'call concoutput_surf '402 call system_clock(count_clock)403 write(*,*) 'system clock',count_clock - count_clock0402 print*,'call concoutput_surf ' 403 call system_clock(count_clock) 404 write(*,*) 'system clock',count_clock - count_clock0 404 405 endif 405 406 if (lnetcdfout.eq.1) then … … 416 417 endif 417 418 else 418 call concoutput_surf(itime,outnum,gridtotalunc,wetgridtotalunc,drygridtotalunc)419 call concoutput_surf(itime,outnum,gridtotalunc,wetgridtotalunc,drygridtotalunc) 419 420 endif 420 421 if (verbosity.eq.1) then … … 434 435 call concoutput_inversion_nest(itime,outnum) 435 436 else 436 call concoutput_surf_nest(itime,outnum)437 endif437 call concoutput_surf_nest(itime,outnum) 438 endif 438 439 endif 439 440 else -
src/timemanager_mpi.f90
r0c8c7f2 rf3054ea 109 109 implicit none 110 110 111 integer(selected_int_kind(16)) :: idummy,idummy2 111 112 integer :: metdata_format 112 113 logical :: reqv_state=.false. ! .true. if waiting for a MPI_Irecv to complete … … 115 116 integer :: ip,irec 116 117 integer :: loutnext,loutstart,loutend 117 integer :: ix,jy,ldeltat,itage,nage ,idummy118 integer :: ix,jy,ldeltat,itage,nage 118 119 integer :: i_nan=0,ii_nan,total_nan_intl=0 !added by mc to check instability in CBL scheme 119 120 integer :: numpart_tot_mpi ! for summing particles on all processes … … 177 178 !******************************************************************** 178 179 179 if (mp_dbg_mode) write(*,*) 'myid, itime: ',mp_pid,itime180 ! if (mp_dbg_mode) write(*,*) 'myid, itime: ',mp_pid,itime 180 181 181 182 if (WETDEP .and. itime .ne. 0 .and. numpart .gt. 0) then … … 298 299 299 300 if (lmpreader.and.lmp_use_reader) then 300 if ( itime.lt.ideltas*ldirect) then301 if (abs(itime).lt.ideltas*ldirect) then 301 302 cycle 302 303 else … … 498 499 creceptor(:,:)=0. 499 500 end if 500 else 501 else ! surf only 501 502 if (lroot) then 502 503 if (lnetcdfout.eq.1) then … … 506 507 #endif 507 508 else 508 call concoutput_surf(itime,outnum,gridtotalunc,wetgridtotalunc,drygridtotalunc) 509 if (linversionout.eq.1) then 510 call concoutput_inversion(itime,outnum,gridtotalunc,wetgridtotalunc,drygridtotalunc) 511 else 512 call concoutput_surf(itime,outnum,gridtotalunc,wetgridtotalunc,drygridtotalunc) 513 end if 509 514 end if 510 515 else … … 534 539 535 540 else 536 call concoutput_surf_nest(itime,outnum) 541 if(linversionout.eq.1) then 542 if (lroot) then 543 call concoutput_inversion_nest(itime,outnum) 544 else 545 griduncn(:,:,:,:,:,:,:)=0. 546 end if 547 else 548 if (lroot) then 549 call concoutput_surf_nest(itime,outnum) 550 else 551 griduncn(:,:,:,:,:,:,:)=0. 552 end if 553 end if 537 554 end if 538 555 else … … 742 759 do ks=1,nspec 743 760 if ((xscav_frac1(j,ks).lt.0)) then 744 call get_wetscav(itime,lsynctime,loutnext,j,ks,grfraction,idummy,idummy ,wetscav)761 call get_wetscav(itime,lsynctime,loutnext,j,ks,grfraction,idummy,idummy2,wetscav) 745 762 if (wetscav.gt.0) then 746 763 xscav_frac1(j,ks)=wetscav* & … … 895 912 !***************************************************************************** 896 913 897 ! eso :TODO: this not implemented yet (transfer particles to PID 0 or rewrite) 898 ! the tools to do this are already in mpi_mod.f90 899 if (lroot) then 900 do j=1,numpart 901 if (linit_cond.ge.1) call initial_cond_calc(itime,j) 902 end do 903 end if 904 905 914 do j=1,numpart 915 if (linit_cond.ge.1) call initial_cond_calc(itime,j) 916 end do 917 918 ! Transfer sum of init_cond field to root process, for output 919 call mpif_tm_reduce_initcond 920 906 921 if (ipout.eq.2) then 907 922 ! MPI process 0 creates the file, the other processes append to it … … 915 930 end if 916 931 917 ! eso :TODO: MPI 918 if (linit_cond.ge.1.and.lroot) call initial_cond_output(itime) ! dump initial cond. field 932 933 if (linit_cond.ge.1.and.lroot) then 934 if(linversionout.eq.1) then 935 call initial_cond_output_inversion(itime) ! dump initial cond. field 936 else 937 call initial_cond_output(itime) ! dump initial cond. fielf 938 endif 939 endif 919 940 920 941 -
src/unc_mod.f90
r0ecc1fe rf3054ea 53 53 54 54 real,allocatable, dimension (:,:,:,:,:) :: init_cond 55 real,allocatable, dimension (:,:,:,:,:) :: init_cond0 ! for MPI 55 56 56 57 end module unc_mod -
src/writeheader.f90
ra756649 rf3054ea 100 100 !***************************************************************************** 101 101 102 write(*,*) "writeheader/nspec", nspec103 104 102 write(unitheader) 3*nspec,maxpointspec_act 105 103 do i=1,nspec
Note: See TracChangeset
for help on using the changeset viewer.