- Timestamp:
- Jul 22, 2024, 9:46:57 AM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/MISR_simulator.F
r5082 r5095 133 133 134 134 ! define location of "layer top" 135 if(ilev ==1 .or. ilev==nlev) then135 if(ilev.eq.1 .or. ilev.eq.nlev) then 136 136 ztest=zfull(j,ilev) 137 137 else … … 144 144 do loop=2,n_MISR_CTH 145 145 146 if ( ztest >146 if ( ztest .gt. 147 147 & 1000*MISR_CTH_boundaries(loop+1) ) then 148 148 … … 173 173 dtau=0 174 174 175 if (frac_out(j,ibox,ilev) ==1) then175 if (frac_out(j,ibox,ilev).eq.1) then 176 176 dtau = dtau_s(j,ilev) 177 177 endif 178 178 179 if (frac_out(j,ibox,ilev) ==2) then179 if (frac_out(j,ibox,ilev).eq.2) then 180 180 dtau = dtau_c(j,ilev) 181 181 end if … … 186 186 ! NOW for MISR .. 187 187 ! if there a cloud ... start the counter ... store this height 188 if(thres_crossed_MISR == 0 .and. dtau >0.) then188 if(thres_crossed_MISR .eq. 0 .and. dtau .gt. 0.) then 189 189 190 190 ! first encountered a "cloud" … … 193 193 endif 194 194 195 if( thres_crossed_MISR <99 .and.196 & thres_crossed_MISR >0 ) then195 if( thres_crossed_MISR .lt. 99 .and. 196 & thres_crossed_MISR .gt. 0 ) then 197 197 198 if( dtau ==0.) then198 if( dtau .eq. 0.) then 199 199 200 200 ! we have come to the end of the current cloud … … 212 212 ! then MISR will like see a top below the top of the current 213 213 ! layer 214 if( dtau >0 .and. (cloud_dtau-dtau) <1) then215 216 if(dtau < 1 .or. ilev==1 .or. ilev==nlev) then214 if( dtau.gt.0 .and. (cloud_dtau-dtau) .lt. 1) then 215 216 if(dtau .lt. 1 .or. ilev.eq.1 .or. ilev.eq.nlev) then 217 217 218 218 ! MISR will likely penetrate to some point … … 233 233 234 234 ! check for a distinctive water layer 235 if(dtau > 1 .and. at(j,ilev)>273 ) then235 if(dtau .gt. 1 .and. at(j,ilev).gt.273 ) then 236 236 237 237 ! must be a water cloud ... … … 242 242 ! if the total column optical depth is "large" than 243 243 ! MISR can't seen anything else ... set current point as CTH level 244 if(tau(j,ibox) > 5) then244 if(tau(j,ibox) .gt. 5) then 245 245 246 246 thres_crossed_MISR=99 … … 254 254 ! check to see if there was a cloud for which we didn't 255 255 ! set a MISR cloud top boundary 256 if( thres_crossed_MISR ==1) then256 if( thres_crossed_MISR .eq. 1) then 257 257 258 258 ! if the cloud has a total optical depth of greater … … 260 260 ! with a height near the true cloud top 261 261 ! otherwise there should be no CTH 262 if( tau(j,ibox) >0.5) then262 if( tau(j,ibox) .gt. 0.5) then 263 263 264 264 ! keep MISR detected CTH 265 265 266 elseif(tau(j,ibox) >0.2) then266 elseif(tau(j,ibox) .gt. 0.2) then 267 267 268 268 ! MISR may detect but wont likley have a good height … … 294 294 ! This setup assumes the columns represent a about a 1 to 4 km scale 295 295 ! it will need to be modified significantly, otherwise 296 if(ncol ==1) then296 if(ncol.eq.1) then 297 297 298 298 ! adjust based on neightboring points ... i.e. only 2D grid was input 299 299 do j=2,npoints-1 300 300 301 if(box_MISR_ztop(j-1,1) >0 .and.302 & box_MISR_ztop(j+1,1) >0 ) then301 if(box_MISR_ztop(j-1,1).gt.0 .and. 302 & box_MISR_ztop(j+1,1).gt.0 ) then 303 303 304 304 if( abs( box_MISR_ztop(j-1,1) - 305 & box_MISR_ztop(j+1,1) ) < 500305 & box_MISR_ztop(j+1,1) ) .lt. 500 306 306 & .and. 307 & box_MISR_ztop(j,1) <307 & box_MISR_ztop(j,1) .lt. 308 308 & box_MISR_ztop(j+1,1) ) then 309 309 … … 319 319 do ibox=2,ncol-1 320 320 321 if(box_MISR_ztop(1,ibox-1) >0 .and.322 & box_MISR_ztop(1,ibox+1) >0 ) then321 if(box_MISR_ztop(1,ibox-1).gt.0 .and. 322 & box_MISR_ztop(1,ibox+1).gt.0 ) then 323 323 324 324 if( abs( box_MISR_ztop(1,ibox-1) - 325 & box_MISR_ztop(1,ibox+1) ) < 500325 & box_MISR_ztop(1,ibox+1) ) .lt. 500 326 326 & .and. 327 & box_MISR_ztop(1,ibox) <327 & box_MISR_ztop(1,ibox) .lt. 328 328 & box_MISR_ztop(1,ibox+1) ) then 329 329 … … 357 357 do ibox=1,ncol 358 358 359 if (tau(j,ibox) >(tauchk)) then359 if (tau(j,ibox) .gt. (tauchk)) then 360 360 box_cloudy(j,ibox)=.true. 361 361 endif … … 366 366 367 367 !determine optical depth category 368 if (tau(j,ibox) <isccp_taumin) then368 if (tau(j,ibox) .lt. isccp_taumin) then 369 369 itau=1 370 else if (tau(j,ibox) >= isccp_taumin371 & .and. tau(j,ibox) <1.3) then370 else if (tau(j,ibox) .ge. isccp_taumin 371 & .and. tau(j,ibox) .lt. 1.3) then 372 372 itau=2 373 else if (tau(j,ibox) >= 1.3374 & .and. tau(j,ibox) <3.6) then373 else if (tau(j,ibox) .ge. 1.3 374 & .and. tau(j,ibox) .lt. 3.6) then 375 375 itau=3 376 else if (tau(j,ibox) >= 3.6377 & .and. tau(j,ibox) <9.4) then376 else if (tau(j,ibox) .ge. 3.6 377 & .and. tau(j,ibox) .lt. 9.4) then 378 378 itau=4 379 else if (tau(j,ibox) >= 9.4380 & .and. tau(j,ibox) <23.) then379 else if (tau(j,ibox) .ge. 9.4 380 & .and. tau(j,ibox) .lt. 23.) then 381 381 itau=5 382 else if (tau(j,ibox) >= 23.383 & .and. tau(j,ibox) <60.) then382 else if (tau(j,ibox) .ge. 23. 383 & .and. tau(j,ibox) .lt. 60.) then 384 384 itau=6 385 else if (tau(j,ibox) >=60.) then385 else if (tau(j,ibox) .ge. 60.) then 386 386 itau=7 387 387 endif … … 390 390 391 391 ! update MISR histograms and summary metrics - roj 5/2005 392 if (sunlit(j) ==1) then392 if (sunlit(j).eq.1) then 393 393 394 394 !if cloudy added by roj 5/2005 395 if( box_MISR_ztop(j,ibox) ==0) then395 if( box_MISR_ztop(j,ibox).eq.0) then 396 396 397 397 ! no cloud detected 398 398 iMISR_ztop=0 399 399 400 elseif( box_MISR_ztop(j,ibox) ==-1) then400 elseif( box_MISR_ztop(j,ibox).eq.-1) then 401 401 402 402 ! cloud can be detected but too thin to get CTH … … 416 416 do loop=2,n_MISR_CTH 417 417 418 if ( box_MISR_ztop(j,ibox) >418 if ( box_MISR_ztop(j,ibox) .gt. 419 419 & 1000*MISR_CTH_boundaries(loop+1) ) then 420 420 … … 466 466 enddo ! ibox - loop over subcolumns 467 467 468 if( MISR_cldarea(j) >0.) then468 if( MISR_cldarea(j) .gt. 0.) then 469 469 MISR_mean_ztop(j)= MISR_mean_ztop(j) / MISR_cldarea(j) ! roj 5/2006 470 470 endif
Note: See TracChangeset
for help on using the changeset viewer.