Changes in trunk/src/gridcheck.f90 [27:20]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gridcheck.f90
r27 r20 84 84 real(kind=4) :: xaux1,xaux2,yaux1,yaux2 85 85 real(kind=8) :: xaux1in,xaux2in,yaux1in,yaux2in 86 integer :: gribVer,parCat,parNum,typSurf,valSurf,discipl ,parID86 integer :: gribVer,parCat,parNum,typSurf,valSurf,discipl 87 87 !HSO end 88 88 integer :: ix,jy,i,ifn,ifield,j,k,iumax,iwmax,numskip 89 real :: sizesouth,sizenorth,xauxa,pint ,conversion_factor89 real :: sizesouth,sizenorth,xauxa,pint 90 90 91 91 ! VARIABLES AND ARRAYS NEEDED FOR GRIB DECODING … … 98 98 99 99 integer :: isec1(56),isec2(22+nxmax+nymax) 100 real(kind=4) :: zsec2(60+2*nuvzmax),zsec4(jpunp) 100 !real(kind=4) :: zsec2(60+2*nuvzmax),zsec4(jpunp) 101 real(kind=4) :: zsec2(184),zsec4(jpunp) 101 102 character(len=1) :: opt 102 103 … … 171 172 call grib_check(iret,gribFunction,gribErrorMsg) 172 173 call grib_get_int(igrib,'level',valSurf,iret) 173 call grib_check(iret,gribFunction,gribErrorMsg)174 call grib_get_int(igrib,'paramId',parId,iret)175 174 call grib_check(iret,gribFunction,gribErrorMsg) 176 175 … … 194 193 elseif ((parCat.eq.2).and.(parNum.eq.32)) then ! W, actually eta dot 195 194 isec1(6)=135 ! indicatorOfParameter 196 elseif ((parCat.eq.128).and.(parNum.eq.77)) then ! W, actually eta dot197 isec1(6)=135 ! indicatorOfParameter198 195 elseif ((parCat.eq.3).and.(parNum.eq.0).and.(typSurf.eq.101)) then !SLP 199 196 isec1(6)=151 ! indicatorOfParameter … … 208 205 elseif ((parCat.eq.1).and.(parNum.eq.11).and.(typSurf.eq.1)) then ! SD 209 206 isec1(6)=141 ! indicatorOfParameter 210 elseif ((parCat.eq.6).and.(parNum.eq.1) .or. parId .eq. 164) then ! CC207 elseif ((parCat.eq.6).and.(parNum.eq.1)) then ! CC 211 208 isec1(6)=164 ! indicatorOfParameter 212 elseif ((parCat.eq.1).and.(parNum.eq.9) .or. parId .eq. 142) then ! LSP209 elseif ((parCat.eq.1).and.(parNum.eq.9)) then ! LSP 213 210 isec1(6)=142 ! indicatorOfParameter 214 211 elseif ((parCat.eq.1).and.(parNum.eq.10)) then ! CP … … 218 215 elseif ((parCat.eq.4).and.(parNum.eq.9).and.(typSurf.eq.1)) then ! SR 219 216 isec1(6)=176 ! indicatorOfParameter 220 elseif ((parCat.eq.2).and.(parNum.eq.17) .or. parId .eq. 180) then ! EWSS217 elseif ((parCat.eq.2).and.(parNum.eq.17)) then ! EWSS 221 218 isec1(6)=180 ! indicatorOfParameter 222 elseif ((parCat.eq.2).and.(parNum.eq.18) .or. parId .eq. 181) then ! NSSS219 elseif ((parCat.eq.2).and.(parNum.eq.18)) then ! NSSS 223 220 isec1(6)=181 ! indicatorOfParameter 224 221 elseif ((parCat.eq.3).and.(parNum.eq.4)) then ! ORO 225 222 isec1(6)=129 ! indicatorOfParameter 226 elseif ((parCat.eq.3).and.(parNum.eq.7) .or. parId .eq. 160) then ! SDO223 elseif ((parCat.eq.3).and.(parNum.eq.7)) then ! SDO 227 224 isec1(6)=160 ! indicatorOfParameter 228 225 elseif ((discipl.eq.2).and.(parCat.eq.0).and.(parNum.eq.0).and. & … … 233 230 parCat,parNum,typSurf 234 231 endif 235 if(parId .ne. isec1(6) .and. parId .ne. 77) then236 write(*,*) 'parId',parId, 'isec1(6)',isec1(6)237 ! stop238 endif239 232 240 233 endif … … 272 265 273 266 !HSO get the second part of the grid dimensions only from GRiB1 messages 274 if ( isec1(6) .eq. 167 .and.(gotGrid.eq.0)) then267 if ((gribVer.eq.1).and.(gotGrid.eq.0)) then 275 268 call grib_get_real8(igrib,'longitudeOfLastGridPointInDegrees', & 276 269 xaux2in,iret) … … 298 291 dyconst=180./(dy*r_earth*pi) 299 292 gotGrid=1 293 300 294 ! Check whether fields are global 301 295 ! If they contain the poles, specify polar stereographic map … … 443 437 !******************** 444 438 445 write(*,'(a,2i7)') ' Vertical levels in ECMWF data: ', & 439 write(*,*) 440 write(*,*) 441 write(*,'(a,2i7)') '# of vertical levels in ECMWF data: ', & 446 442 nuvz+1,nwz 447 443 write(*,*) 448 write(*,'(a)') ' 449 write(*,'(a,f10. 5,a,f10.5,a,f10.5)') ' Longitude range: ', &444 write(*,'(a)') 'Mother domain:' 445 write(*,'(a,f10.2,a1,f10.2,a,f10.2)') ' Longitude range: ', & 450 446 xlon0,' to ',xlon0+(nx-1)*dx,' Grid distance: ',dx 451 write(*,'(a,f10. 5,a,f10.5,a,f10.5)') ' Latitude range: ', &447 write(*,'(a,f10.2,a1,f10.2,a,f10.2)') ' Latitude range: ', & 452 448 ylat0,' to ',ylat0+(ny-1)*dy,' Grid distance: ',dy 453 449 write(*,*) … … 471 467 k=nlev_ec+1+numskip+i 472 468 akm(nwz-i+1)=zsec2(j) 473 ! write (*,*) 'ifield:',ifield,k,j,zsec2(10+j)474 469 bkm(nwz-i+1)=zsec2(k) 475 470 end do … … 558 553 559 554 end subroutine gridcheck 560
Note: See TracChangeset
for help on using the changeset viewer.