Ignore:
Timestamp:
Mar 9, 2007 12:05:41 PM (17 years ago)
Author:
raasch
Message:

preliminary update of further changes, advec_particles is not running!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/production_e.f90

    r56 r57  
    44! Actual revisions:
    55! -----------------
    6 ! Wall functions now include diabatic conditions, call of routine wall_fluxes_e
     6! Wall functions now include diabatic conditions, call of routine wall_fluxes_e,
     7! reference temperature pt_reference can be used in buoyancy term
    78!
    89! Former revisions:
     
    359360          IF ( .NOT. moisture )  THEN
    360361
    361              DO  j = nys, nyn
    362 
    363                 DO  k = nzb_diff_s_inner(j,i), nzt_diff
    364                    tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt(k,j,i) * &
    365                                     ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
     362             IF ( use_pt_reference )  THEN
     363
     364                DO  j = nys, nyn
     365                   DO  k = nzb_diff_s_inner(j,i), nzt_diff
     366                      tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g/pt_reference * &
     367                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
     368                   ENDDO
     369
     370                   IF ( use_surface_fluxes )  THEN
     371                      k = nzb_diff_s_inner(j,i)-1
     372                      tend(k,j,i) = tend(k,j,i) + g / pt_reference * shf(j,i)
     373                   ENDIF
     374
     375                   IF ( use_top_fluxes )  THEN
     376                      k = nzt
     377                      tend(k,j,i) = tend(k,j,i) + g / pt_reference * tswst(j,i)
     378                   ENDIF
    366379                ENDDO
    367380
    368                 IF ( use_surface_fluxes )  THEN
    369                    k = nzb_diff_s_inner(j,i)-1
    370                    tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * shf(j,i)
    371                 ENDIF
    372 
    373                 IF ( use_top_fluxes )  THEN
    374                    k = nzt
    375                    tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * tswst(j,i)
    376                 ENDIF
    377 
    378              ENDDO
     381             ELSE
     382
     383                DO  j = nys, nyn
     384                   DO  k = nzb_diff_s_inner(j,i), nzt_diff
     385                      tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt(k,j,i) * &
     386                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
     387                   ENDDO
     388
     389                   IF ( use_surface_fluxes )  THEN
     390                      k = nzb_diff_s_inner(j,i)-1
     391                      tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * shf(j,i)
     392                   ENDIF
     393
     394                   IF ( use_top_fluxes )  THEN
     395                      k = nzt
     396                      tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * tswst(j,i)
     397                   ENDIF
     398                ENDDO
     399
     400             ENDIF
    379401
    380402          ELSE
     
    736758       IF ( .NOT. moisture )  THEN
    737759
    738           DO  k = nzb_diff_s_inner(j,i), nzt_diff
    739              tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt(k,j,i) * &
    740                                     ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
    741           ENDDO
    742 
    743           IF ( use_surface_fluxes )  THEN
    744              k = nzb_diff_s_inner(j,i)-1
    745              tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * shf(j,i)
    746           ENDIF
    747 
    748           IF ( use_top_fluxes )  THEN
    749              k = nzt
    750              tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * tswst(j,i)
    751           ENDIF
     760          IF ( use_pt_reference )  THEN
     761
     762             DO  k = nzb_diff_s_inner(j,i), nzt_diff
     763                tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt_reference * &
     764                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
     765             ENDDO
     766
     767             IF ( use_surface_fluxes )  THEN
     768                k = nzb_diff_s_inner(j,i)-1
     769                tend(k,j,i) = tend(k,j,i) + g / pt_reference * shf(j,i)
     770             ENDIF
     771
     772             IF ( use_top_fluxes )  THEN
     773                k = nzt
     774                tend(k,j,i) = tend(k,j,i) + g / pt_reference * tswst(j,i)
     775             ENDIF
     776
     777          ELSE
     778
     779             DO  k = nzb_diff_s_inner(j,i), nzt_diff
     780                tend(k,j,i) = tend(k,j,i) - kh(k,j,i) * g / pt(k,j,i) * &
     781                                       ( pt(k+1,j,i) - pt(k-1,j,i) ) * dd2zu(k)
     782             ENDDO
     783
     784             IF ( use_surface_fluxes )  THEN
     785                k = nzb_diff_s_inner(j,i)-1
     786                tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * shf(j,i)
     787             ENDIF
     788
     789             IF ( use_top_fluxes )  THEN
     790                k = nzt
     791                tend(k,j,i) = tend(k,j,i) + g / pt(k,j,i) * tswst(j,i)
     792             ENDIF
     793
     794         ENDIF
    752795
    753796       ELSE
Note: See TracChangeset for help on using the changeset viewer.