Ignore:
Timestamp:
Jul 12, 2016 4:34:24 PM (5 years ago)
Author:
suehring
Message:

Separate balance equations for humidity and passive_scalar

File:
1 edited

Legend:

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

    r1958 r1960  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! Treat humidity and passive scalar separately.
     22! Modify misleading information concerning humidity.
     23! Bugfix, change unit for humidity flux.
    2224!
    2325! Former revisions:
     
    266268
    267269    USE arrays_3d,                                                             &
    268         ONLY:  pt_init, qsws, q_init, sa_init, shf, ug, vg, w_subs, zu, zw
     270        ONLY:  pt_init, qsws, q_init, s_init, sa_init, shf, ug, vg, w_subs, zu,&
     271               zw
    269272       
    270273    USE control_parameters
     
    10221025
    10231026    IF ( passive_scalar )  THEN
    1024        IF ( ibc_q_b == 0 )  THEN
     1027       IF ( ibc_s_b == 0 )  THEN
    10251028          r_lower = 's(0)     = s_surface'
    10261029       ELSE
    10271030          r_lower = 's(0)     = s(1)'
    10281031       ENDIF
    1029        IF ( ibc_q_t == 0 )  THEN
     1032       IF ( ibc_s_t == 0 )  THEN
    10301033          r_upper =  's(nzt)   = s_top'
    10311034       ELSE
     
    10521055          ENDIF
    10531056       ENDIF
    1054        IF ( passive_scalar  .AND.  constant_waterflux )  THEN
    1055           WRITE ( io, 313 ) surface_waterflux
     1057       IF ( passive_scalar  .AND.  constant_scalarflux )  THEN
     1058          WRITE ( io, 313 ) surface_scalarflux
    10561059       ENDIF
    10571060    ENDIF
     
    10701073          WRITE ( io, 309 )  top_salinityflux
    10711074       ENDIF
    1072        IF ( humidity  .OR.  passive_scalar )  THEN
    1073           WRITE ( io, 315 )
    1074        ENDIF
     1075       IF ( humidity       )  WRITE ( io, 315 )
     1076       IF ( passive_scalar )  WRITE ( io, 315 )
    10751077    ENDIF
    10761078
     
    10831085          WRITE ( io, 312 )
    10841086       ENDIF
    1085        IF ( passive_scalar  .AND.  .NOT. constant_waterflux )  THEN
     1087       IF ( passive_scalar  .AND.  .NOT. constant_scalarflux )  THEN
    10861088          WRITE ( io, 314 )
    10871089       ENDIF
     
    11531155!-- Initial humidity profile
    11541156!-- Building output strings, starting with surface humidity
    1155     IF ( humidity  .OR.  passive_scalar )  THEN
     1157    IF ( humidity )  THEN
    11561158       WRITE ( temperatures, '(E8.1)' )  q_surface
    11571159       gradients = '--------'
     
    11811183       ENDDO
    11821184
    1183        IF ( humidity )  THEN
    1184           IF ( .NOT. nudging )  THEN
    1185              WRITE ( io, 421 )  TRIM( coordinates ), TRIM( temperatures ), &
    1186                                 TRIM( gradients ), TRIM( slices )
    1187           ENDIF
    1188        ELSE
    1189           WRITE ( io, 422 )  TRIM( coordinates ), TRIM( temperatures ), &
     1185       IF ( .NOT. nudging )  THEN
     1186          WRITE ( io, 421 )  TRIM( coordinates ), TRIM( temperatures ),        &
    11901187                             TRIM( gradients ), TRIM( slices )
    11911188       ENDIF
    11921189    ENDIF
     1190!
     1191!-- Initial scalar profile
     1192!-- Building output strings, starting with surface humidity
     1193    IF ( passive_scalar )  THEN
     1194       WRITE ( temperatures, '(E8.1)' )  s_surface
     1195       gradients = '--------'
     1196       slices = '       0'
     1197       coordinates = '     0.0'
     1198       i = 1
     1199       DO  WHILE ( s_vertical_gradient_level_ind(i) /= -9999 )
     1200         
     1201          WRITE (coor_chr,'(E8.1,4X)')  s_init(q_vertical_gradient_level_ind(i))
     1202          temperatures = TRIM( temperatures ) // '  ' // TRIM( coor_chr )
     1203
     1204          WRITE (coor_chr,'(E8.1,4X)')  s_vertical_gradient(i)
     1205          gradients = TRIM( gradients ) // '  ' // TRIM( coor_chr )
     1206         
     1207          WRITE (coor_chr,'(I8,4X)')  s_vertical_gradient_level_ind(i)
     1208          slices = TRIM( slices ) // '  ' // TRIM( coor_chr )
     1209         
     1210          WRITE (coor_chr,'(F8.1,4X)')  s_vertical_gradient_level(i)
     1211          coordinates = TRIM( coordinates ) // '  '  // TRIM( coor_chr )
     1212
     1213          IF ( i == 10 )  THEN
     1214             EXIT
     1215          ELSE
     1216             i = i + 1
     1217          ENDIF
     1218
     1219       ENDDO
     1220
     1221       WRITE ( io, 422 )  TRIM( coordinates ), TRIM( temperatures ),           &
     1222                          TRIM( gradients ), TRIM( slices )
     1223    ENDIF   
    11931224
    11941225!
     
    19952026310 FORMAT (//'    1D-Model:'// &
    19962027             '       Rif value range:   ',F6.2,' <= rif <=',F6.2)
    1997 311 FORMAT ('       Predefined constant humidity flux: ',E10.3,' m/s')
     2028311 FORMAT ('       Predefined constant humidity flux: ',E10.3,' kg/kg m/s')
    19982029312 FORMAT ('       Predefined surface humidity')
    19992030313 FORMAT ('       Predefined constant scalar flux: ',E10.3,' kg/(m**2 s)')
     
    21582189430 FORMAT (//' Cloud physics quantities / methods:'/ &
    21592190              ' ----------------------------------'/)
    2160 431 FORMAT ('    Humidity is treated as purely passive scalar (no condensati', &
    2161                  'on)')
     2191431 FORMAT ('    Humidity is considered, bu no condensation')
    21622192432 FORMAT ('    Bulk scheme with liquid water potential temperature and'/ &
    21632193            '    total water content is used.'/ &
Note: See TracChangeset for help on using the changeset viewer.