Ignore:
Timestamp:
May 30, 2017 5:47:52 PM (4 years ago)
Author:
suehring
Message:

Adjustments according new topography and surface-modelling concept implemented

File:
1 edited

Legend:

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

    r2201 r2232  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! Renamed wall_flags_0 and wall_flags_00 into advc_flags_1 and advc_flags_2,
     23! respectively. Moreover, introduced further flag array wall_flags_0.
     24!
     25! Adjustments for new topography concept:
     26!   -fwxm, fwxp, fwym, fwyp, fxm, fxp, fym, fyp, rif_wall, wall_e_x, wall_e_y,
     27!   -wall_v, wall_u, wall_w_x, wall_w_y, wall_qflux, wall_sflux, wall_nrflux,
     28!   -wall_qrflux
     29!
     30! Adjustments for new surface concept:
     31!   +land_surface
     32!   -z0, z0h, z0q, us, ts, qs, qsws, nrs, nrsws, qrs, qrsws, ssws, ss, saswsb
     33!   -nzb_diff_u, nzb_diff_v, nzt_diff
     34!   -uswst, vswst, tswst, sswst, saswst, qswst, qrswst, nrswst, qswst_remote
     35!
     36! Generic tunnel setup:
     37!   +tunnel_height, tunnel_length, tunnel_width_x, tunnel_width_y,
     38!   +tunnel_wall_depth
     39!
     40! Topography input via netcdf
     41!   +lod
    2342!
    2443! Former revisions:
     
    534553    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  f3_mg                 !<
    535554    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  mean_inflow_profiles  !<
    536     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  nrs                   !<
    537     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  nrsws                 !<
    538     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  nrswst                !<
    539     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ol                    !< Obukhov length
    540555    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  precipitation_amount  !<
    541556    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  precipitation_rate    !<
     
    543558    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  pt_slope_ref          !<
    544559    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qnudge                !<
    545     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qs                    !<
    546     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qsws                  !<
    547     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qswst                 !<
    548     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qswst_remote          !<
    549     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qrs                   !<
    550     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qrsws                 !<
    551     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  qrswst                !<
    552     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  saswsb                !<
    553     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  saswst                !<
    554     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  shf                   !<
    555     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ss                    !<
    556     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ssws                  !<
    557     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  sswst                 !<
    558560    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  tnudge                !<
    559561    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  td_lsa_lpt            !<
     
    563565    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  total_2d_a            !<
    564566    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  total_2d_o            !<
    565     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ts                    !<
    566     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  tswst                 !<
    567567    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  ug_vert               !<
    568568    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  unudge                !<
    569     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  us                    !<
    570     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  usws                  !<
    571     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  uswst                 !<
    572569    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  vnudge                !<
    573570    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  vg_vert               !<
    574     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  vsws                  !<
    575     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  vswst                 !<
    576571    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wnudge                !<
    577572    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wsubs_vert            !<
    578     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  z0                    !< roughness length for momentum
    579     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  z0h                   !< roughness length for heat
    580     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  z0q                   !< roughness length for moisture
    581573   
    582574    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  d          !<
     
    744736#endif
    745737
    746     REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::  rif_wall !<
    747738    REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::  tri      !<
    748739
     
    10141005    INTEGER(iwp) ::  io_blocks = 1                     !<
    10151006    INTEGER(iwp) ::  iran = -1234567                   !<
     1007    INTEGER(iwp) ::  lod = 1                           !< level of detail, topography input parameter
    10161008    INTEGER(iwp) ::  masks = 0                         !<
    10171009    INTEGER(iwp) ::  maximum_grid_level                !<
     
    11301122    LOGICAL ::  large_scale_forcing = .FALSE.                !<
    11311123    LOGICAL ::  large_scale_subsidence = .FALSE.             !<
     1124    LOGICAL ::  land_surface = .FALSE.                       !< flag parameter indicating wheather the lsm is used
    11321125    LOGICAL ::  lsf_exception = .FALSE.                      !< temporary flag for use of lsf with buildings on flat terrain
    11331126    LOGICAL ::  lsf_surf = .TRUE.                            !<
     
    11831176    LOGICAL ::  ws_scheme_sca = .FALSE.                      !<
    11841177    LOGICAL ::  ws_scheme_mom = .FALSE.                      !<
    1185 
    11861178    LOGICAL ::  data_output_xy(0:1) = .FALSE.                !<
    11871179    LOGICAL ::  data_output_xz(0:1) = .FALSE.                !<
     
    13221314    REAL(wp) ::  top_salinityflux = 9999999.9_wp               !<
    13231315    REAL(wp) ::  top_scalarflux = 9999999.9_wp                 !<
     1316    REAL(wp) ::  tunnel_height = 9999999.9_wp                  !< height of tunnel outer wall
     1317    REAL(wp) ::  tunnel_length = 9999999.9_wp                  !< tunnel length
     1318    REAL(wp) ::  tunnel_width_x = 9999999.9_wp                 !< tunnel width in x, with respect to outer wall
     1319    REAL(wp) ::  tunnel_width_y = 9999999.9_wp                 !< tunnel width in y, with respect to outer wall
     1320    REAL(wp) ::  tunnel_wall_depth = 9999999.9_wp              !< tunnel wall depth
    13241321    REAL(wp) ::  ug_surface = 0.0_wp                           !<
    13251322    REAL(wp) ::  u_bulk = 0.0_wp                               !<
     
    13661363    REAL(wp) ::  wall_heatflux(0:4) = 0.0_wp                       !<
    13671364    REAL(wp) ::  wall_humidityflux(0:4) = 0.0_wp                   !<
    1368     REAL(wp) ::  wall_nrflux(0:4) = 0.0_wp                         !<
    1369     REAL(wp) ::  wall_qflux(0:4) = 0.0_wp                          !<
    1370     REAL(wp) ::  wall_qrflux(0:4) = 0.0_wp                         !<
    13711365    REAL(wp) ::  wall_salinityflux(0:4) = 0.0_wp                   !<
    1372     REAL(wp) ::  wall_sflux(0:4) = 0.0_wp                          !<
    13731366    REAL(wp) ::  wall_scalarflux(0:4) = 0.0_wp                     !<
    13741367    REAL(wp) ::  subs_vertical_gradient(10) = 0.0_wp               !<
     
    15341527    REAL(wp), DIMENSION(:), ALLOCATABLE ::  ddy2_mg  !<
    15351528
    1536     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fwxm        !<
    1537     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fwxp        !<
    1538     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fwym        !<
    1539     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fwyp        !<
    1540     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fxm         !<
    1541     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fxp         !<
    1542     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fym         !<
    1543     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  fyp         !<
    1544     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wall_e_x    !<
    1545     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wall_e_y    !<
    1546     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wall_u      !<
    1547     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wall_v      !<
    1548     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wall_w_x    !<
    1549     REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  wall_w_y    !<
    15501529    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  zu_s_inner  !< 
    15511530    REAL(wp), DIMENSION(:,:), ALLOCATABLE ::  zw_w_inner  !<
     
    15941573    INTEGER(iwp) ::  nzb_max      !<
    15951574    INTEGER(iwp) ::  nzt          !<
    1596     INTEGER(iwp) ::  nzt_diff     !<
    15971575
    15981576    INTEGER(idp), DIMENSION(:), ALLOCATABLE ::  ngp_3d        !<
     
    16121590    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_diff_s_inner  !<
    16131591    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_diff_s_outer  !<
    1614     INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_diff_u        !<
    1615     INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_diff_v        !<
    16161592    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_inner         !<
    16171593    INTEGER(iwp), DIMENSION(:,:), ALLOCATABLE ::  nzb_outer         !<
     
    16271603    INTEGER(iwp), DIMENSION(:,:,:), POINTER ::  flags  !<
    16281604
    1629     INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE ::  wall_flags_0   !<
    1630     INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE ::  wall_flags_00  !<
    1631 
    16321605    INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE,  TARGET ::  wall_flags_1   !<
    16331606    INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE,  TARGET ::  wall_flags_2   !<
     
    16411614    INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE,  TARGET ::  wall_flags_10  !<
    16421615
    1643     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  rflags_s_inner  !<
    1644     REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  rflags_invers   !<
     1616    INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE ::  advc_flags_1            !< flags used to degrade order of advection scheme
     1617    INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE ::  advc_flags_2            !< flags used to degrade order of advection scheme
     1618    INTEGER(iwp), DIMENSION(:,:,:), ALLOCATABLE ::  wall_flags_0            !< flags to mask topography
    16451619
    16461620    SAVE
Note: See TracChangeset for help on using the changeset viewer.