Changes in trunk/src/gridcheck_nests.f90 [27:4]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gridcheck_nests.f90
r27 r4 48 48 integer :: igrib 49 49 integer :: gribVer,parCat,parNum,typSurf,valSurf,discipl 50 integer :: parID !added by mc for making it consistent with new gridcheck.f9051 50 integer :: gotGrib 52 51 !HSO end … … 56 55 real(kind=4) :: xaux1,xaux2,yaux1,yaux2 57 56 real(kind=8) :: xaux1in,xaux2in,yaux1in,yaux2in 58 real :: conversion_factor !added by mc to make it consistent with new gridchek.f9059 57 60 58 ! VARIABLES AND ARRAYS NEEDED FOR GRIB DECODING … … 152 150 call grib_get_int(igrib,'level',valSurf,iret) 153 151 call grib_check(iret,gribFunction,gribErrorMsg) 154 call grib_get_int(igrib,'paramId',parId,iret) !added by mc to make it consisitent with new grid_check.f90155 call grib_check(iret,gribFunction,gribErrorMsg) !added by mc to make it consisitent with new grid_check.f90156 152 157 153 !print*,discipl,parCat,parNum,typSurf,valSurf … … 174 170 elseif ((parCat.eq.2).and.(parNum.eq.32)) then ! W, actually eta dot 175 171 isec1(6)=135 ! indicatorOfParameter 176 elseif ((parCat.eq.128).and.(parNum.eq.77)) then ! W, actually eta dot !added bymc to make it consistent with new gridchek.f90177 isec1(6)=135 ! indicatorOfParameter ! ! " " " " " " " " " " " " " " " " " " " " " " " " " " "178 172 elseif ((parCat.eq.3).and.(parNum.eq.0).and.(typSurf.eq.101)) then !SLP 179 173 isec1(6)=151 ! indicatorOfParameter … … 188 182 elseif ((parCat.eq.1).and.(parNum.eq.11).and.(typSurf.eq.1)) then ! SD 189 183 isec1(6)=141 ! indicatorOfParameter 190 elseif ((parCat.eq.6).and.(parNum.eq.1) .or. parId .eq. 164) then ! CC !added by mc to make it consistent with new gridchek.f90184 elseif ((parCat.eq.6).and.(parNum.eq.1)) then ! CC 191 185 isec1(6)=164 ! indicatorOfParameter 192 elseif ((parCat.eq.1).and.(parNum.eq.9) .or. parId .eq. 142) then ! LSP !added by mc to make it consistent with new gridchek.f90186 elseif ((parCat.eq.1).and.(parNum.eq.9)) then ! LSP 193 187 isec1(6)=142 ! indicatorOfParameter 194 188 elseif ((parCat.eq.1).and.(parNum.eq.10)) then ! CP … … 198 192 elseif ((parCat.eq.4).and.(parNum.eq.9).and.(typSurf.eq.1)) then ! SR 199 193 isec1(6)=176 ! indicatorOfParameter 200 elseif ((parCat.eq.2).and.(parNum.eq.17) .or. parId .eq. 180) then ! EWSS !added by mc to make it consistent with new gridchek.f90194 elseif ((parCat.eq.2).and.(parNum.eq.17)) then ! EWSS 201 195 isec1(6)=180 ! indicatorOfParameter 202 elseif ((parCat.eq.2).and.(parNum.eq.18) .or. parId .eq. 181) then ! NSSS !added by mc to make it consistent with new gridchek.f90196 elseif ((parCat.eq.2).and.(parNum.eq.18)) then ! NSSS 203 197 isec1(6)=181 ! indicatorOfParameter 204 198 elseif ((parCat.eq.3).and.(parNum.eq.4)) then ! ORO 205 199 isec1(6)=129 ! indicatorOfParameter 206 elseif ((parCat.eq.3).and.(parNum.eq.7) .or. parId .eq. 160) then ! SDO !added by mc to make it consistent with new gridchek.f90200 elseif ((parCat.eq.3).and.(parNum.eq.7)) then ! SDO 207 201 isec1(6)=160 ! indicatorOfParameter 208 202 elseif ((discipl.eq.2).and.(parCat.eq.0).and.(parNum.eq.0).and. & … … 213 207 parCat,parNum,typSurf 214 208 endif 215 if(parId .ne. isec1(6) .and. parId .ne. 77) then !added by mc to make it consistent with new gridchek.f90216 write(*,*) 'parId',parId, 'isec1(6)',isec1(6)217 ! stop218 endif219 209 220 210 endif … … 247 237 248 238 !HSO get the second part of the grid dimensions only from GRiB1 messages 249 if ( isec1(6) .eq. 167 .and. (gotGrib.eq.0)) then !added by mc to make it consistent with new gridchek.f90 note that gotGrid must be changed in gotGrib!!250 call grib_get_real8(igrib,'longitudeOfFirstGridPointInDegrees', & !comment by mc: note that this was in the (if (ifield.eq.1) ..end above in gridchek.f90 see line 257239 if ((gribVer.eq.1).and.(gotGrib.eq.0)) then 240 call grib_get_real8(igrib,'longitudeOfFirstGridPointInDegrees', & 251 241 xaux1in,iret) 252 242 call grib_check(iret,gribFunction,gribErrorMsg) … … 264 254 yaux1=yaux1in 265 255 yaux2=yaux2in 266 if(xaux1.gt.180 .) xaux1=xaux1-360.0267 if(xaux2.gt.180 .) xaux2=xaux2-360.0268 if(xaux1.lt.-180 .) xaux1=xaux1+360.0269 if(xaux2.lt.-180 .) xaux2=xaux2+360.0270 if (xaux2.lt.xaux1) xaux2=xaux2+360. 0256 if(xaux1.gt.180) xaux1=xaux1-360.0 257 if(xaux2.gt.180) xaux2=xaux2-360.0 258 if(xaux1.lt.-180) xaux1=xaux1+360.0 259 if(xaux2.lt.-180) xaux2=xaux2+360.0 260 if (xaux2.lt.xaux1) xaux2=xaux2+360. 271 261 xlon0n(l)=xaux1 272 262 ylat0n(l)=yaux1 273 263 dxn(l)=(xaux2-xaux1)/real(nxn(l)-1) 274 264 dyn(l)=(yaux2-yaux1)/real(nyn(l)-1) 275 gotGrib=1 !commetn by mc note tahthere gotGRIB is used instead of gotGrid!!!265 gotGrib=1 276 266 endif ! ifield.eq.1 277 267 … … 350 340 !******************** 351 341 352 write(*,'(a,i2 ,a)') ' Nested domain ',l,':'353 write(*,'(a,f10. 5,a,f10.5,a,f10.5)') ' Longitude range: ', &342 write(*,'(a,i2)') 'Nested domain #: ',l 343 write(*,'(a,f10.2,a1,f10.2,a,f10.2)') ' Longitude range: ', & 354 344 xlon0n(l),' to ',xlon0n(l)+(nxn(l)-1)*dxn(l), & 355 345 ' Grid distance: ',dxn(l) 356 write(*,'(a,f10. 5,a,f10.5,a,f10.5)') ' Latitude range: ', &346 write(*,'(a,f10.2,a1,f10.2,a,f10.2)') ' Latitude range: ', & 357 347 ylat0n(l),' to ',ylat0n(l)+(nyn(l)-1)*dyn(l), & 358 348 ' Grid distance: ',dyn(l)
Note: See TracChangeset
for help on using the changeset viewer.