Ignore:
Timestamp:
Jul 22, 2024, 9:46:57 AM (4 months ago)
Author:
abarral
Message:

Revert cosp*/ from the trunk, as it's external code
Add missing bits from FCM2 source

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/MISR_simulator.F

    r5082 r5095  
    133133           
    134134        ! define location of "layer top"
    135         if(ilev==1 .or. ilev==nlev) then
     135        if(ilev.eq.1 .or. ilev.eq.nlev) then
    136136            ztest=zfull(j,ilev)
    137137        else
     
    144144        do loop=2,n_MISR_CTH
    145145       
    146             if ( ztest >
     146            if ( ztest .gt.
    147147     &                1000*MISR_CTH_boundaries(loop+1) ) then
    148148       
     
    173173             dtau=0
    174174             
    175              if (frac_out(j,ibox,ilev)==1) then
     175             if (frac_out(j,ibox,ilev).eq.1) then
    176176                        dtau = dtau_s(j,ilev)
    177177                 endif
    178178                 
    179                  if (frac_out(j,ibox,ilev)==2) then
     179                 if (frac_out(j,ibox,ilev).eq.2) then
    180180                        dtau = dtau_c(j,ilev)
    181181                 end if
     
    186186        ! NOW for MISR ..
    187187        ! if there a cloud ... start the counter ... store this height
    188         if(thres_crossed_MISR == 0 .and. dtau > 0.) then
     188        if(thres_crossed_MISR .eq. 0 .and. dtau .gt. 0.) then
    189189       
    190190            ! first encountered a "cloud"
     
    193193        endif   
    194194               
    195         if( thres_crossed_MISR < 99 .and.
    196      &              thres_crossed_MISR > 0 ) then
     195        if( thres_crossed_MISR .lt. 99 .and.
     196     &              thres_crossed_MISR .gt. 0 ) then
    197197     
    198                 if( dtau == 0.) then
     198                if( dtau .eq. 0.) then
    199199       
    200200                    ! we have come to the end of the current cloud
     
    212212            ! then MISR will like see a top below the top of the current
    213213            ! layer
    214             if( dtau>0 .and. (cloud_dtau-dtau) < 1) then
    215            
    216                 if(dtau < 1 .or. ilev==1 .or. ilev==nlev) then
     214            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
    217217
    218218                    ! MISR will likely penetrate to some point
     
    233233       
    234234            ! check for a distinctive water layer
    235             if(dtau > 1 .and. at(j,ilev)>273 ) then
     235            if(dtau .gt. 1 .and. at(j,ilev).gt.273 ) then
    236236     
    237237                    ! must be a water cloud ...
     
    242242            ! if the total column optical depth is "large" than
    243243            ! MISR can't seen anything else ... set current point as CTH level
    244             if(tau(j,ibox) > 5) then
     244            if(tau(j,ibox) .gt. 5) then
    245245
    246246                thres_crossed_MISR=99           
     
    254254        ! check to see if there was a cloud for which we didn't
    255255        ! set a MISR cloud top boundary
    256         if( thres_crossed_MISR == 1) then
     256        if( thres_crossed_MISR .eq. 1) then
    257257   
    258258        ! if the cloud has a total optical depth of greater
     
    260260        ! with a height near the true cloud top
    261261        ! otherwise there should be no CTH
    262         if( tau(j,ibox) > 0.5) then
     262        if( tau(j,ibox) .gt. 0.5) then
    263263
    264264            ! keep MISR detected CTH
    265265           
    266         elseif(tau(j,ibox) > 0.2) then
     266        elseif(tau(j,ibox) .gt. 0.2) then
    267267
    268268            ! MISR may detect but wont likley have a good height
     
    294294    !   This setup assumes the columns represent a about a 1 to 4 km scale
    295295    !   it will need to be modified significantly, otherwise
    296         if(ncol==1) then
     296        if(ncol.eq.1) then
    297297   
    298298       ! adjust based on neightboring points ... i.e. only 2D grid was input
    299299           do j=2,npoints-1
    300300           
    301             if(box_MISR_ztop(j-1,1)>0 .and.
    302      &             box_MISR_ztop(j+1,1)>0       ) then
     301            if(box_MISR_ztop(j-1,1).gt.0 .and.
     302     &             box_MISR_ztop(j+1,1).gt.0       ) then
    303303
    304304                if( abs( box_MISR_ztop(j-1,1) - 
    305      &                   box_MISR_ztop(j+1,1) ) < 500
     305     &                   box_MISR_ztop(j+1,1) ) .lt. 500
    306306     &              .and.
    307      &                   box_MISR_ztop(j,1) <
     307     &                   box_MISR_ztop(j,1) .lt.
    308308     &                   box_MISR_ztop(j+1,1)     ) then
    309309           
     
    319319         do ibox=2,ncol-1
    320320           
    321             if(box_MISR_ztop(1,ibox-1)>0 .and.
    322      &             box_MISR_ztop(1,ibox+1)>0        ) then
     321            if(box_MISR_ztop(1,ibox-1).gt.0 .and.
     322     &             box_MISR_ztop(1,ibox+1).gt.0        ) then
    323323
    324324                if( abs( box_MISR_ztop(1,ibox-1) - 
    325      &                   box_MISR_ztop(1,ibox+1) ) < 500
     325     &                   box_MISR_ztop(1,ibox+1) ) .lt. 500
    326326     &              .and.
    327      &                   box_MISR_ztop(1,ibox) <
     327     &                   box_MISR_ztop(1,ibox) .lt.
    328328     &                   box_MISR_ztop(1,ibox+1)     ) then
    329329           
     
    357357         do ibox=1,ncol
    358358
    359             if (tau(j,ibox) > (tauchk)) then
     359            if (tau(j,ibox) .gt. (tauchk)) then
    360360               box_cloudy(j,ibox)=.true.
    361361            endif
     
    366366   
    367367          !determine optical depth category
    368               if (tau(j,ibox) < isccp_taumin) then
     368              if (tau(j,ibox) .lt. isccp_taumin) then
    369369                  itau=1
    370               else if (tau(j,ibox) >= isccp_taumin
    371      &          .and. tau(j,ibox) < 1.3) then
     370              else if (tau(j,ibox) .ge. isccp_taumin                                   
     371     &          .and. tau(j,ibox) .lt. 1.3) then
    372372                  itau=2
    373               else if (tau(j,ibox) >= 1.3
    374      &          .and. tau(j,ibox) < 3.6) then
     373              else if (tau(j,ibox) .ge. 1.3
     374     &          .and. tau(j,ibox) .lt. 3.6) then
    375375                  itau=3
    376               else if (tau(j,ibox) >= 3.6
    377      &          .and. tau(j,ibox) < 9.4) then
     376              else if (tau(j,ibox) .ge. 3.6
     377     &          .and. tau(j,ibox) .lt. 9.4) then
    378378                  itau=4
    379               else if (tau(j,ibox) >= 9.4
    380      &          .and. tau(j,ibox) < 23.) then
     379              else if (tau(j,ibox) .ge. 9.4
     380     &          .and. tau(j,ibox) .lt. 23.) then
    381381                  itau=5
    382               else if (tau(j,ibox) >= 23.
    383      &          .and. tau(j,ibox) < 60.) then
     382              else if (tau(j,ibox) .ge. 23.
     383     &          .and. tau(j,ibox) .lt. 60.) then
    384384                  itau=6
    385               else if (tau(j,ibox) >= 60.) then
     385              else if (tau(j,ibox) .ge. 60.) then
    386386                  itau=7
    387387              endif
     
    390390
    391391       ! update MISR histograms and summary metrics - roj 5/2005
    392        if (sunlit(j)==1) then
     392       if (sunlit(j).eq.1) then
    393393                     
    394394              !if cloudy added by roj 5/2005
    395           if( box_MISR_ztop(j,ibox)==0) then
     395          if( box_MISR_ztop(j,ibox).eq.0) then
    396396         
    397397            ! no cloud detected
    398398            iMISR_ztop=0
    399399
    400           elseif( box_MISR_ztop(j,ibox)==-1) then
     400          elseif( box_MISR_ztop(j,ibox).eq.-1) then
    401401
    402402            ! cloud can be detected but too thin to get CTH
     
    416416            do loop=2,n_MISR_CTH
    417417       
    418                 if ( box_MISR_ztop(j,ibox) >
     418                if ( box_MISR_ztop(j,ibox) .gt.
    419419     &                1000*MISR_CTH_boundaries(loop+1) ) then
    420420       
     
    466466       enddo ! ibox - loop over subcolumns         
    467467     
    468        if( MISR_cldarea(j) > 0.) then
     468       if( MISR_cldarea(j) .gt. 0.) then
    469469        MISR_mean_ztop(j)= MISR_mean_ztop(j) / MISR_cldarea(j)   ! roj 5/2006
    470470       endif
Note: See TracChangeset for help on using the changeset viewer.