Changeset ff050cd in flexpart.git for src_parallel/readoutgrid_nest.f90
- Timestamp:
- Aug 15, 2013, 3:23:48 PM (11 years ago)
- Branches:
- flexpart91_hasod
- Children:
- 31113de
- Parents:
- 7c1fd44
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src_parallel/readoutgrid_nest.f90
r3eed2e6 rff050cd 53 53 real,parameter :: eps=1.e-4 54 54 55 integer :: readerror 55 56 57 ! declare namelist 58 namelist /outgridn/ & 59 outlon0n,outlat0n, & 60 numxgridn,numygridn, & 61 dxoutn,dyoutn 62 63 ! helps identifying failed namelist input 64 dxoutn=-1.0 56 65 57 66 ! Open the OUTGRID file and read output grid specifications … … 61 70 status='old',err=999) 62 71 72 ! try namelist input 73 read(unitoutgrid,outgridn,iostat=readerror) 63 74 64 call skplin(5,unitoutgrid)75 if ((dxoutn.le.0).or.(readerror.ne.0)) then 65 76 77 rewind(unitoutgrid) 78 call skplin(5,unitoutgrid) 66 79 67 ! 1. Read horizontal grid specifications68 !****************************************80 ! 1. Read horizontal grid specifications 81 !**************************************** 69 82 70 call skplin(3,unitoutgrid)71 read(unitoutgrid,'(4x,f11.4)') outlon0n72 call skplin(3,unitoutgrid)73 read(unitoutgrid,'(4x,f11.4)') outlat0n74 call skplin(3,unitoutgrid)75 read(unitoutgrid,'(4x,i5)') numxgridn76 call skplin(3,unitoutgrid)77 read(unitoutgrid,'(4x,i5)') numygridn78 call skplin(3,unitoutgrid)79 read(unitoutgrid,'(4x,f12.5)') dxoutn80 call skplin(3,unitoutgrid)81 read(unitoutgrid,'(4x,f12.5)') dyoutn83 call skplin(3,unitoutgrid) 84 read(unitoutgrid,'(4x,f11.4)') outlon0n 85 call skplin(3,unitoutgrid) 86 read(unitoutgrid,'(4x,f11.4)') outlat0n 87 call skplin(3,unitoutgrid) 88 read(unitoutgrid,'(4x,i5)') numxgridn 89 call skplin(3,unitoutgrid) 90 read(unitoutgrid,'(4x,i5)') numygridn 91 call skplin(3,unitoutgrid) 92 read(unitoutgrid,'(4x,f12.5)') dxoutn 93 call skplin(3,unitoutgrid) 94 read(unitoutgrid,'(4x,f12.5)') dyoutn 82 95 96 endif 83 97 84 allocate(orooutn(0:numxgridn-1,0:numygridn-1) & 85 ,stat=stat) 86 if (stat.ne.0) write(*,*)'ERROR: could not allocate outh' 87 allocate(arean(0:numxgridn-1,0:numygridn-1) & 88 ,stat=stat) 89 if (stat.ne.0) write(*,*)'ERROR: could not allocate outh' 90 allocate(volumen(0:numxgridn-1,0:numygridn-1,numzgrid) & 91 ,stat=stat) 92 if (stat.ne.0) write(*,*)'ERROR: could not allocate outh' 98 close(unitoutgrid) 99 100 allocate(orooutn(0:numxgridn-1,0:numygridn-1),stat=stat) 101 if (stat.ne.0) write(*,*)'ERROR: could not allocate orooutn' 102 allocate(arean(0:numxgridn-1,0:numygridn-1),stat=stat) 103 if (stat.ne.0) write(*,*)'ERROR: could not allocate arean' 104 allocate(volumen(0:numxgridn-1,0:numygridn-1,numzgrid),stat=stat) 105 if (stat.ne.0) write(*,*)'ERROR: could not allocate volumen' 93 106 94 107 ! Check validity of output grid (shall be within model domain) … … 110 123 xoutshiftn=xlon0-outlon0n 111 124 youtshiftn=ylat0-outlat0n 112 close(unitoutgrid)113 125 return 114 126 115 116 999 write(*,*) ' #### FLEXPART MODEL ERROR! FILE OUTGRID_NEST #### ' 127 999 write(*,*) ' #### FLEXPART MODEL ERROR! FILE OUTGRID_NEST #### ' 117 128 write(*,*) ' #### CANNOT BE OPENED IN THE DIRECTORY #### ' 118 129 write(*,*) ' #### xxx/flexpart/options #### '
Note: See TracChangeset
for help on using the changeset viewer.