Changeset 2669


Ignore:
Timestamp:
Dec 6, 2017 4:03:27 PM (6 years ago)
Author:
raasch
Message:

file attributes and activation strings in .palm.iofiles revised, file extensions for nesting, masked output, wind turbine data, etc. changed

Location:
palm/trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SCRIPTS/.palm.iofiles

    r2559 r2669  
    11#
    2 #----------------------------------------------------------------------------
     2#------------------------------------------------------------------------------------------
    33# List of input-files
    4 #----------------------------------------------------------------------------
    5 PARIN                    in:job        d3#      $base_data/$fname/INPUT         _p3d
    6 PARIN                    in:job        pcr      $base_data/$fname/INPUT         _pcr
    7 PARIN                    in:job        d3r      $base_data/$fname/INPUT         _p3dr
    8 TOPOGRAPHY_DATA          in:locopt     d3#:d3r  $base_data/$fname/INPUT         _topo
    9 #WTM_DATA                 in:job        d3#:d3r  $base_data/$fname/INPUT         _wtm
    10 BININ                    in:loc:lnpe   d3r:rec  $fast_io_catalog/$fname/RESTART _d3d
    11 PARTICLE_RESTART_DATA_IN in:loc:lnpe   prtr     $fast_io_catalog/$fname/RESTART _rprt
    12 DATA_1D_PR_NETCDF        in:locopt     prr      $base_data/$fname/OUTPUT        _pr     nc
    13 DATA_1D_SP_NETCDF        in:locopt     spr      $base_data/$fname/OUTPUT        _sp     nc
    14 DATA_1D_TS_NETCDF        in:locopt     tsr      $base_data/$fname/OUTPUT        _ts     nc
    15 DATA_1D_PTS_NETCDF       in:locopt     ptsr     $base_data/$fname/OUTPUT        _pts    nc
    16 DATA_2D_XY_NETCDF        in:locopt     xyr      $base_data/$fname/OUTPUT        _xy     nc
    17 DATA_2D_XY_AV_NETCDF     in:locopt     xyr      $base_data/$fname/OUTPUT        _xy_av  nc
    18 DATA_2D_XZ_NETCDF        in:locopt     xzr      $base_data/$fname/OUTPUT        _xz     nc
    19 DATA_2D_XZ_AV_NETCDF     in:locopt     xzr      $base_data/$fname/OUTPUT        _xz_av  nc
    20 DATA_2D_YZ_NETCDF        in:locopt     yzr      $base_data/$fname/OUTPUT        _yz     nc
    21 DATA_2D_YZ_AV_NETCDF     in:locopt     yzr      $base_data/$fname/OUTPUT        _yz_av  nc
    22 DATA_3D_NETCDF           in:locopt     3dr      $base_data/$fname/OUTPUT        _3d     nc
    23 DATA_3D_AV_NETCDF        in:locopt     3dr      $base_data/$fname/OUTPUT        _3d_av  nc
    24 DATA_MASK_01_NETCDF      in:locopt     mar      $base_data/$fname/OUTPUT        _m01    nc
    25 DATA_MASK_01_AV_NETCDF   in:locopt     mar      $base_data/$fname/OUTPUT        _m01_av nc
    26 DATA_MASK_02_NETCDF      in:locopt     mar      $base_data/$fname/OUTPUT        _m02    nc
    27 DATA_MASK_02_AV_NETCDF   in:locopt     mar      $base_data/$fname/OUTPUT        _m02_av nc
    28 DATA_MASK_03_NETCDF      in:locopt     mar      $base_data/$fname/OUTPUT        _m03    nc
    29 DATA_MASK_03_AV_NETCDF   in:locopt     mar      $base_data/$fname/OUTPUT        _m03_av nc
    30 DATA_MASK_04_NETCDF      in:locopt     mar      $base_data/$fname/OUTPUT        _m04    nc
    31 DATA_MASK_04_AV_NETCDF   in:locopt     mar      $base_data/$fname/OUTPUT        _m04_av nc
    32 DATA_MASK_05_NETCDF      in:locopt     mar      $base_data/$fname/OUTPUT        _m05    nc
    33 DATA_MASK_05_AV_NETCDF   in:locopt     mar      $base_data/$fname/OUTPUT        _m05_av nc
    34 DATA_PRT_NETCDF          in:locopt:pe  prtr     $base_data/$fname/OUTPUT        _prt
     4#------------------------------------------------------------------------------------------
     5PARIN                    in:tr      d3#      $base_data/$fname/INPUT          _p3d*
     6PARIN                    in:tr      d3r      $base_data/$fname/INPUT          _p3dr*
     7PARIN                    in:tr      pcr      $base_data/$fname/INPUT          _pcr
     8TOPOGRAPHY_DATA          inopt:tr   d3#:d3r  $base_data/$fname/INPUT          _topo*
     9WTM_DATA                 inopt:tr   d3#:d3r  $base_data/$fname/INPUT          _wtm
     10BININ                    in:lnpe    d3r:rec  $fast_io_catalog/$fname/RESTART  _d3d
     11PARTICLE_RESTART_DATA_IN in:lnpe    prtr     $fast_io_catalog/$fname/RESTART  _rprt
     12DATA_1D_PR_NETCDF        inopt      prr      $base_data/$fname/OUTPUT         _pr*       nc
     13DATA_1D_SP_NETCDF        inopt      spr      $base_data/$fname/OUTPUT         _sp*       nc
     14DATA_1D_TS_NETCDF        inopt      tsr      $base_data/$fname/OUTPUT         _ts*       nc
     15DATA_1D_PTS_NETCDF       inopt      ptsr     $base_data/$fname/OUTPUT         _pts*      nc
     16DATA_2D_XY_NETCDF        inopt      xyr      $base_data/$fname/OUTPUT         _xy*       nc
     17DATA_2D_XY_AV_NETCDF     inopt      xyr      $base_data/$fname/OUTPUT         _xy_av*    nc
     18DATA_2D_XZ_NETCDF        inopt      xzr      $base_data/$fname/OUTPUT         _xz*       nc
     19DATA_2D_YZ_NETCDF        inopt      yzr      $base_data/$fname/OUTPUT         _yz*       nc
     20DATA_3D_NETCDF           inopt      3dr      $base_data/$fname/OUTPUT         _3d*       nc
     21DATA_3D_AV_NETCDF        inopt      3dr      $base_data/$fname/OUTPUT         _3d*       nc
     22DATA_MASK_NETCDF         inopt      mar      $base_data/$fname/OUTPUT         _masked    nc
     23DATA_MASK_AV_NETCDF      inopt      mar      $base_data/$fname/OUTPUT         _masked_av nc
     24DATA_PRT_NETCDF          inopt:pe   prtr     $base_data/$fname/OUTPUT         _prt*      nc
    3525#
    36 #----------------------------------------------------------------------------
     26#------------------------------------------------------------------------------------------
    3727# List of output-files
    38 #----------------------------------------------------------------------------
    39 BINOUT                    out:loc:lnpe restart   $fast_io_catalog/$fname/RESTART  _d3d
    40 PARTICLE_RESTART_DATA_OUT out:loc:lnpe prt#:prtr $fast_io_catalog/$fname/RESTART  _rprt
     28#------------------------------------------------------------------------------------------
     29BINOUT*                    out:lnpe restart   $fast_io_catalog/$fname/RESTART  _d3d
     30PARTICLE_RESTART_DATA_OUT* out:lnpe prt#:prtr $fast_io_catalog/$fname/RESTART  _rprt
    4131#
    42 RUN_CONTROL       out:loc:tr   d3#:pcr $base_data/$fname/MONITORING  _rc
    43 RUN_CONTROL       out:loc:tra  d3r     $base_data/$fname/MONITORING  _rc
    44 HEADER            out:loc:tr   d3#:pcr $base_data/$fname/MONITORING  _header
    45 HEADER            out:loc:tra  d3r     $base_data/$fname/MONITORING  _header
    46 CPU_MEASURES      out:loc:tr   d3#:pcr $base_data/$fname/MONITORING  _cpu
    47 CPU_MEASURES      out:loc:tra  d3r     $base_data/$fname/MONITORING  _cpu
    48 PARTICLE_INFO     out:loc:tr   pt#     $base_data/$fname/MONITORING  _prt_info
    49 PARTICLE_INFO     out:loc:tra  ptr     $base_data/$fname/MONITORING  _prt_info
    50 LIST_PROFIL       out:loc:tr   d3#     $base_data/$fname/MONITORING  _list_pr
     32RUN_CONTROL*               out:tr   d3#:pcr   $base_data/$fname/MONITORING     _rc
     33RUN_CONTROL*               out:tra  d3r       $base_data/$fname/MONITORING     _rc
     34HEADER*                    out:tr   d3#:pcr   $base_data/$fname/MONITORING     _header
     35HEADER*                    out:tra  d3r       $base_data/$fname/MONITORING     _header
     36CPU_MEASURES*              out:tr   d3#:pcr   $base_data/$fname/MONITORING     _cpu
     37CPU_MEASURES*              out:tra  d3r       $base_data/$fname/MONITORING     _cpu
     38PARTICLE_INFO*             out:tr   pt#       $base_data/$fname/MONITORING     _prt_info
     39PARTICLE_INFO*             out:tra  ptr       $base_data/$fname/MONITORING     _prt_info
     40LIST_PROFIL*               out:tr   d3#       $base_data/$fname/MONITORING     _list_pr
    5141#
    52 TURBINE_PARAMETERS01   out:loc:tr   d3#:d3r   $base_data/$fname/MONITORING  _turbine_parameters01
    53 TURBINE_PARAMETERS02   out:loc:tr   d3#:d3r   $base_data/$fname/MONITORING  _turbine_parameters02
    54 TURBINE_PARAMETERS03   out:loc:tr   d3#:d3r   $base_data/$fname/MONITORING  _turbine_parameters03
    55 TURBINE_PARAMETERS04   out:loc:tr   d3#:d3r   $base_data/$fname/MONITORING  _turbine_parameters04
     42DATA_1D_PR_NETCDF*         out:tr   *         $base_data/$fname/OUTPUT         _pr        nc
     43DATA_1D_SP_NETCDF          out:tr   *         $base_data/$fname/OUTPUT         _sp        nc
     44DATA_1D_TS_NETCDF          out:tr   *         $base_data/$fname/OUTPUT         _ts        nc
     45DATA_1D_PTS_NETCDF         out:tr   *         $base_data/$fname/OUTPUT         _pts       nc
     46DATA_2D_XY_NETCDF*         out:tr   *         $base_data/$fname/OUTPUT         _xy        nc
     47DATA_2D_XY_AV_NETCDF*      out:tr   *         $base_data/$fname/OUTPUT         _xy_av     nc
     48DATA_2D_XZ_NETCDF*         out:tr   *         $base_data/$fname/OUTPUT         _xz        nc
     49DATA_2D_XZ_AV_NETCDF*      out:tr   *         $base_data/$fname/OUTPUT         _xz_av     nc
     50DATA_2D_YZ_NETCDF*         out:tr   *         $base_data/$fname/OUTPUT         _yz        nc
     51DATA_2D_YZ_AV_NETCDF*      out:tr   *         $base_data/$fname/OUTPUT         _yz_av     nc
     52DATA_3D_NETCDF*            out:tr   *         $base_data/$fname/OUTPUT         _3d        nc
     53DATA_3D_AV_NETCDF*         out:tr   *         $base_data/$fname/OUTPUT         _3d_av     nc
     54DATA_MASK_NETCDF*          out:tr   *         $base_data/$fname/OUTPUT         _masked    nc
     55DATA_MASK_AV_NETCDF*       out:tr   *         $base_data/$fname/OUTPUT         _masked_av nc
    5656#
    57 DATA_1D_PR_NETCDF      out:loc:tr   pr#:prr   $base_data/$fname/OUTPUT  _pr     nc
    58 DATA_1D_SP_NETCDF      out:loc:tr   sp#:spr   $base_data/$fname/OUTPUT  _sp     nc
    59 DATA_1D_TS_NETCDF      out:loc:tr   ts#:tsr   $base_data/$fname/OUTPUT  _ts     nc
    60 DATA_1D_PTS_NETCDF     out:loc:tr   pts#:ptsr $base_data/$fname/OUTPUT  _pts    nc
    61 DATA_2D_XY_NETCDF      out:loc:tr   xy#:xyr   $base_data/$fname/OUTPUT  _xy     nc
    62 DATA_2D_XY_AV_NETCDF   out:loc:tr   xy#:xyr   $base_data/$fname/OUTPUT  _xy_av  nc
    63 DATA_2D_XZ_NETCDF      out:loc:tr   xz#:xzr   $base_data/$fname/OUTPUT  _xz     nc
    64 DATA_2D_XZ_AV_NETCDF   out:loc:tr   xz#:xzr   $base_data/$fname/OUTPUT  _xz_av  nc
    65 DATA_2D_YZ_NETCDF      out:loc:tr   yz#:yzr   $base_data/$fname/OUTPUT  _yz     nc
    66 DATA_2D_YZ_AV_NETCDF   out:loc:tr   yz#:yzr   $base_data/$fname/OUTPUT  _yz_av  nc
    67 DATA_3D_NETCDF         out:loc:tr   3d#:3dr   $base_data/$fname/OUTPUT  _3d     nc
    68 DATA_3D_AV_NETCDF      out:loc:tr   3d#:3dr   $base_data/$fname/OUTPUT  _3d_av  nc
    69 DATA_MASK_01_NETCDF    out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m01    nc
    70 DATA_MASK_01_AV_NETCDF out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m01_av nc
    71 DATA_MASK_02_NETCDF    out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m02    nc
    72 DATA_MASK_02_AV_NETCDF out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m02_av nc
    73 DATA_MASK_03_NETCDF    out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m03    nc
    74 DATA_MASK_03_AV_NETCDF out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m03_av nc
    75 DATA_MASK_04_NETCDF    out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m04    nc
    76 DATA_MASK_04_AV_NETCDF out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m04_av nc
    77 DATA_MASK_05_NETCDF    out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m05    nc
    78 DATA_MASK_05_AV_NETCDF out:loc:tr   ma#:mar   $base_data/$fname/OUTPUT  _m05_av nc
    79 DATA_PRT_NETCDF        out:loc:pe   prt#:prtr $base_data/$fname/OUTPUT  _prt
    80 DATA_PRT_NETCDF        out:loc:trpe prt#:prtr $base_data/$fname/OUTPUT  _prt
    81 PLOTTS_PAR             out:loc:tr   ts#:tsr   $base_data/$fname/OUTPUT  _ts_par
    82 PLOTTS_DATA            out:loc:tr   ts#       $base_data/$fname/OUTPUT  _ts_in
    83 PLOTTS_DATA            out:loc:tra  tsr       $base_data/$fname/OUTPUT  _ts_in
    84 PLOT1D_PAR             out:loc:tr   pr#:prr   $base_data/$fname/OUTPUT  _pr_par
    85 PLOT1D_DATA            out:loc:tr   pr#       $base_data/$fname/OUTPUT  _pr_in
    86 PLOT1D_DATA            out:loc:tr   prr       $base_data/$fname/OUTPUT  _pr_in
    87 PARTICLE_DATA          out:loc:lnpe prt#:prtr $base_data/$fname/OUTPUT  _prt_dat
     57DATA_PRT_NETCDF*           out:pe   *         $base_data/$fname/OUTPUT         _prt
     58DATA_PRT_NETCDF*           out:trpe *         $base_data/$fname/OUTPUT         _prt
     59PARTICLE_DATA*             out:lnpe *         $base_data/$fname/OUTPUT         _prt_dat
    8860#
    89 #----------------------------------------------------------------------------
    90 # List of input-files for nested model runs
    91 #----------------------------------------------------------------------------
    92 PARIN_02           in:job        nest#      $base_data/$fname/INPUT   _02_p3d
    93 TOPOGRAPHY_DATA_02 in:locopt     nest#      $base_data/$fname/INPUT   _02_topo
    94 PARIN_03           in:job        nest#      $base_data/$fname/INPUT   _02_p3d
    95 TOPOGRAPHY_DATA_03 in:locopt     nest#      $base_data/$fname/INPUT   _02_topo
    96 #
    97 #----------------------------------------------------------------------------
    98 # List of input-files for coupled ocean model
    99 #----------------------------------------------------------------------------
    100 #PARIN_O                  in:job        d3o#      $base_data/$fname/INPUT         _o_p3d
    101 #PARIN_O                  in:job        d3or      $base_data/$fname/INPUT         _o_p3df
    102 #BININ_O                  in:loc:lnpe   d3or:reco $fast_io_catalog/$fname/RESTART _o_d3d
    103 #
    104 #----------------------------------------------------------------------------
    105 # List of output-files for coupled ocean model
    106 #----------------------------------------------------------------------------
    107 RUN_CONTROL_02     out:loc:tr   nest#     $base_data/$fname/MONITORING     _2_rc
    108 RUN_CONTROL_02     out:loc:tra  nestr     $base_data/$fname/MONITORING     _2_rc
    109 HEADER_02          out:loc:tr   nest#     $base_data/$fname/MONITORING     _2_header
    110 HEADER_02          out:loc:tra  nestr     $base_data/$fname/MONITORING     _2_header
    111 CPU_MEASURES_02    out:loc:tr   nest#     $base_data/$fname/MONITORING     _2_cpu
    112 CPU_MEASURES_02    out:loc:tra  nestr     $base_data/$fname/MONITORING     _2_cpu
    113 LIST_PROFIL_02     out:loc:tr   nest#     $base_data/$fname/MONITORING     _2_list_pr
    114 BINOUT_02          out:loc:lnpe restart   $fast_io_catalog/$fname/RESTART  _2_d3d
    115 #
    116 DATA_1D_PR_NETCDF_2    out:loc:tr pro#:pror   $base_data/$fname/OUTPUT _2_pr     nc
    117 DATA_1D_SP_NETCDF_2    out:loc:tr spo#:spor   $base_data/$fname/OUTPUT _2_sp     nc
    118 DATA_1D_TS_NETCDF_2    out:loc:tr tso#:tsor   $base_data/$fname/OUTPUT _2_ts     nc
    119 DATA_1D_PTS_NETCDF_2   out:loc:tr ptso#:ptsor $base_data/$fname/OUTPUT _2_pts    nc
    120 DATA_2D_XY_NETCDF_2    out:loc:tr xyo#:xyor   $base_data/$fname/OUTPUT _2_xy     nc
    121 DATA_2D_XY_AV_NETCDF_2 out:loc:tr xyo#:xyor   $base_data/$fname/OUTPUT _2_xy_av  nc
    122 DATA_2D_XZ_NETCDF_2    out:loc:tr xzo#:xzor   $base_data/$fname/OUTPUT _2_xz     nc
    123 DATA_2D_XZ_AV_NETCDF_2 out:loc:tr xzo#:xzor   $base_data/$fname/OUTPUT _2_xz_av  nc
    124 DATA_2D_YZ_NETCDF_2    out:loc:tr yzo#:yzor   $base_data/$fname/OUTPUT _2_yz     nc
    125 DATA_2D_YZ_AV_NETCDF_2 out:loc:tr yzo#:yzor   $base_data/$fname/OUTPUT _2_yz_av  nc
     61WTM_OUTPUT_DATA*           out:tr   *         $base_data/$fname/MONITORING     _wtm
  • palm/trunk/SCRIPTS/palmrun

    r2639 r2669  
    2727# -----------------
    2828# $Id$
     29# file attributes in .palm.iofiles restructured, "loc" attribute completely
     30# removed,
     31# wildcard (*) allowed in .palm.iofiles as file activation string for output
     32# files,
     33# informative messages in case of missing optional input files shortened
     34# bugfix: variable cycle explicitly interpreted with 10 as the number base
     35#
     36# 2638 2017-11-23 12:44:23Z raasch
    2937# use of wildcards in file connection statements enabled
    3038#
     
    515523 do
    516524
    517        # FIRST REPLACE ENVIRONMENT-VARIABLES BY THEIR RESPECTIVE VALUES
    518     eval  line=\"$line\"
    519 
     525       # REPLACE REPEATING SPACES BETWEEN THE COLUMNS BY A SINGLE SPACE
     526    line=`echo "$line" | sed -e "s/\s\{1,\}/ /g"`
    520527
    521528       # INTERPRET THE LINE
     
    535542          # LINE DEFINES FILE CONNECTION. READ THE FILE ATTRIBUTES.
    536543          # s2a: in/out - field
    537           # s2b: loc    - field (optional)
    538           # s2c: tr/ar  - field (optional)
    539        s1=`echo $line | cut -d" " -f1`
    540        s2=`echo $line | cut -d" " -s -f2`
    541        s2a=$(echo $s2 | cut -d":" -f1)
     544          # s2b: action - field (optional)
     545       s1=`echo "$line" | cut -d" " -f1`
     546       s2=`echo "$line" | cut -d" " -s -f2`
     547#       s2a=$(echo $s2 | cut -d":" -f1)
    542548       if [[ $(echo $s2 | grep -c ":") = 0 ]]
    543549       then
     550          s2a=$s2
    544551          s2b=""
    545           s2c=""
    546552       else
    547           s2b=`echo $s2 | cut -d":" -f2 | sed 's/:/ /g'`
    548           s2c=`echo $s2 | cut -d":" -s -f3 | sed 's/:/ /g'`
    549        fi
    550        s3=`echo $line | cut -d" " -f3`
    551        s4=`echo $line | cut -d" " -s -f4`
    552        s5=`echo $line | cut -d" " -s -f5`
    553        s6=`echo $line | cut -d" " -s -f6`
     553          s2a=`echo $s2 | cut -d":" -f1`
     554          s2b=`echo $s2 | cut -d":" -f2`
     555       fi
     556       s3=`echo "$line" | cut -d" " -f3 | sed 's/*/wildcard /g'`
     557       s4=`echo "$line" | cut -d" " -s -f4`
     558       eval s4=\"$s4\"    # REPLACE ENVIRONMENT-VARIABLES IN PATH BY THEIR RESPECTIVE VALUES
     559       echo "### s4=\"$s4\" "
     560       s5=`echo "$line" | cut -d" " -s -f5`
     561       s6=`echo "$line" | cut -d" " -s -f6`
    554562
    555563       
     
    558566          # VARIABLE S3 MAY CONTAIN A LIST OF ACTIVATION STRINGS (FIELD-SEPERATOR ":").
    559567          # IF EXECUTION IS SCHEDULED FOR A REMOTE-MACHINE AND THE FILE IS ONLY
    560           # LOCALLY REQUIRED ON THAT MACHINE (I.E. s2b = loc), THE FILE CONNECTION
     568          # LOCALLY REQUIRED ON THAT MACHINE (I.E. s2b != tr), THE FILE CONNECTION
    561569          # IS NOT CHECKED AND STORED.
    562570       IFSALT="$IFS"; IFS="$IFS:"      # ADD ":" AS FIELD SEPARATOR
    563        if [[ "$s2a" = in  &&  ! ( $create_remote_batch_job = true  &&  ( "$s2b" = loc  ||  "$s2b" = locopt ) ) ]]
     571       if [[ ( "$s2a" = in  || "$s2a" = inopt )  &&  ! ( $create_remote_batch_job = true  &&  "$s2b" != tr ) ]]
    564572       then
    565573          found=false
     
    574582          then
    575583             (( iin = iin + 1 ))
    576              localin_pre[$iin]=$s1; transin_pre[$iin]=$s2b; actionin_pre[$iin]=$s2c;
     584             localin_pre[$iin]=$s1; actionin_pre[$iin]=$s2b;
    577585             pathin_pre[$iin]=$s4; endin_pre[$iin]=$s5; extin_pre[$iin]=$s6
     586             if [[ "$s2a" = inopt ]]
     587             then
     588                optin_pre[$iin]=yes
     589             else
     590                optin_pre[$iin]=no
     591             fi
    578592
    579593                # FILES WITH JOB-ATTRIBUTE ARE STORED IN THE SOURCES_FOR_RUN
    580594                # FOLDER IF THE JOB IS RUNNING ON A REMOTE HOST
    581              if [[ $running_on_remote = true  && ( "$s2b" = job  ||  "$s2b" = jobopt ) ]]
     595             if [[ $running_on_remote = true  &&  "$s2b" = tr ]]
    582596             then
    583597                pathin_pre[$iin]=${fast_io_catalog}/${sources_for_run_catalog}
     
    588602             if [[ "${s5: -1}" = "*" ]]
    589603             then
    590                 if [[ "$s2c" = "di" ]]
     604                if [[ "$s2b" = "di" ]]
    591605                then
    592606                   printf "\n    +++ wildcards (*) not allowed with \"di\" file attribute."
     
    602616             fi
    603617          fi
    604        elif [[ "$s2a" = out  &&  ! ( $create_remote_batch_job = true  &&  "$s2b" = loc ) ]]
     618       elif [[ "$s2a" = out  &&  ! ( $create_remote_batch_job = true ) ]]
    605619       then
    606620          found=false
     621          echo "### line=\"$line\" "
    607622          for  actual  in  $activation_string_list
    608623          do
    609624             for  formal  in  $s3 
    610625             do
    611                 [[ $actual = $formal  ||  "$formal" = "-"  ]]  &&  found=true
     626                echo "--- actual=\"$actual\"   formal=\"$formal\"   s3=\"$s3\" "
     627                if [[ $actual = $formal  ||  $formal = wildcard  ]]
     628                then
     629                   found=true
     630                   echo "--- found"
     631                else
     632                   echo "--- not found"
     633                fi
    612634             done
    613635          done
     
    615637          then
    616638             (( iout = iout + 1 ))
    617              localout_pre[$iout]=$s1; actionout_pre[$iout]=$s2c; typeout_pre[$iout]=$s3;
     639             localout_pre[$iout]=$s1; actionout_pre[$iout]=$s2b
    618640             pathout_pre[$iout]=$s4; endout_pre[$iout]=$s5; extout_pre[$iout]=$s6
     641             echo "### pathout_pre[$iout]=\"${pathout_pre[$iout]}\" "
     642
     643                # CHECK IF WILDCARD IS USED AS ACTIVATION STRING
     644                # IN SUCH CASES, NO WARNING WILL LATER BE OUTPUT IF LOCAL FILES DO NOT EXIST
     645             if [[ $formal = wildcard  ]]
     646             then
     647                warnout_pre[$iout]=false
     648             else
     649                warnout_pre[$iout]=true
     650             fi
    619651
    620652                # CHECK FOR MULTIPLE FILES, SET A RESPECTIVE FLAG AND REMOVE
     
    622654             if [[ "${s1: -1}" = "*" ]]
    623655             then
    624                 if [[ "$s2c" = "di" ]]
     656                if [[ "$s2b" = "di" ]]
    625657                then
    626658                   printf "\n    +++ wildcards (*) not allowed with \"di\" file attribute."
     
    636668             fi
    637669          fi
    638        elif [[ "$s2a" != in  &&  "$s2a" != out ]]
    639        then
    640           printf "\n  +++ I/O-attribute in configuration file $config_file has the invalid"
    641           printf "\n      value \"$s2\". Only \"in\" and \"out\" are allowed!"
     670       elif [[ "$s2a" != in  &&  "$s2a" != inopt  &&  "$s2a" != out ]]
     671       then
     672          printf "\n  +++ I/O-attribute in file $fileconnection_file has invalid"
     673          printf "\n      value \"$s2\". Only \"in\", \"inopt\", and \"out\" are allowed!"
    642674          locat=connect; exit
    643675       fi
     
    10241056    then
    10251057
    1026           # FILES WITH ATTRIBUTE locopt ARE OPTIONAL. NO ABORT, IF THEY DO NOT EXIST.
    1027        if [[ "${transin_pre[$i]}" != "locopt"  &&  "${transin_pre[$i]}" != "jobopt" ]]
     1058          # FILES WITH ATTRIBUTE opt ARE OPTIONAL. NO ABORT, IF THEY DO NOT EXIST.
     1059       if [[ "${optin_pre[$i]}" != "yes" ]]
    10281060       then
    10291061          printf "\n\n  +++ INPUT-file: "
     
    10391071          (( nr_of_input_files = nr_of_input_files + 1 ))
    10401072          localin[$nr_of_input_files]="${localin_pre[$i]}"
    1041           transin[$nr_of_input_files]="unavailable"
    1042           actionin[$nr_of_input_files]="${actionin_pre[$i]}"
     1073          optin[$nr_of_input_files]="${optin_pre[$i]}"
     1074          actionin[$nr_of_input_files]="unavailable"
    10431075          pathin[$nr_of_input_files]="${pathin_pre[$i]}"
    10441076          endin[$nr_of_input_files]="${endin_pre[$i]}"
     
    11281160          (( nr_of_input_files = nr_of_input_files + 1 ))
    11291161          localin[$nr_of_input_files]="${localin_pre[$i]}"$ending
    1130           transin[$nr_of_input_files]="${transin_pre[$i]}"
     1162          optin[$nr_of_input_files]="${optin_pre[$i]}"
    11311163          actionin[$nr_of_input_files]="${actionin_pre[$i]}"
    11321164          pathin[$nr_of_input_files]="${pathin_pre[$i]}"
     
    11641196              if [[ $cycle =~ ^-?[0-9]+$ ]]
    11651197              then
    1166                  (( icycle = $cycle ))
     1198                    # NUMBERS WITH LEADING ZEROS ARE INTERPRETED AS OCTAL NUMBERS
     1199                    # 10# EXPLICITLY SPECIFIES THE NUMBER BASE AS 10
     1200                 (( icycle = $((10#$cycle)) ))
    11671201              else
    11681202                 (( icycle = 0 ))
     
    17551789
    17561790
    1757     # WHEN CREATING A REMOTE BATCH JOB, THOSE INPUT FILES WITH JOB-ATTRIBUT WILL
    1758     # BE COPIED TO THE REMOTE HOST
     1791    # WHEN CREATING A REMOTE BATCH JOB, THOSE INPUT FILES WITH TRANSFER-ATTRIBUT
     1792    # WILL BE COPIED TO THE REMOTE HOST
    17591793 if [[ $create_remote_batch_job = true ]]
    17601794 then
     
    17631797    do
    17641798       (( i = i + 1 ))
    1765        if [[ "${transin[$i]}" = job  ||  "${transin[$i]}" = jobopt ]]
     1799       if [[ "${actionin[$i]}" = tr ]]
    17661800       then
    17671801          eval inputfile=${pathin[$i]}/${frelin[$i]}
     
    18021836       # PROVIDE THE INPUT FILES
    18031837       # LOOP OVER ALL ACTIVATED FILES (LISTED IN THE CONFIGURATION FILE)
     1838    optional_files_missing=false
    18041839    (( i = 0 ))
    18051840    while (( i < nr_of_input_files ))
     
    18131848
    18141849          # SKIP OPTIONAL FILES, IF THEY DO NOT EXIST
    1815        if [[ "${transin[$i]}" = unavailable ]]
    1816        then
    1817           if [[ "${extin[$i]}" = ""  ||  "${extin[$i]}" = " " ]]
    1818           then
    1819              printf "\n  *** INFORMATIVE: input file \"${pathin[$i]}/${fname}${endin[$i]}\" "
    1820              printf "\n                   is not available!"
    1821           else
    1822              printf "\n  *** INFORMATIVE: input file \"${pathin[$i]}/${fname}${endin[$i]}.${extin[$i]}\" "
    1823              printf "\n                   is not available!"
    1824           fi
     1850       if [[ "${actionin[$i]}" = unavailable ]]
     1851       then
     1852          optional_files_missing=true
    18251853          continue
    18261854       fi
     
    18871915
    18881916          # FILE IS STORED IN THE RESPECTIVE DIRECTORY GIVEN IN THE CONFIGURATION FILE
    1889        if [[ "${actionin[$i]}" = ""  ||  "${actionin[$i]}" = "di"  ||  "${actionin[$i]}" = "npe" ]]
     1917       if [[ "${actionin[$i]}" = ""  ||  "${actionin[$i]}" = "di"  ||  "${actionin[$i]}" = "tr"  ||  "${actionin[$i]}" = "npe" ]]
    18901918       then
    18911919
     
    19621990                      printf "\n  --- WARNING: ln failed, using cp instead (might be time consuming...)"
    19631991                                 fi
    1964                    if [[ $running_on_remote = true  &&  ( "${transin[$i]}" = job  ||  "${transin[$i]}" = jobopt ) ]]
     1992                   if [[ $running_on_remote = true  &&  "${actionin[$i]}" = tr ]]
    19651993                   then
    19661994                      mv  ${absnamein[$i]}  ${localin[$i]}
     
    19762004    if (( i != 0 ))
    19772005    then
     2006       if [[ $optional_files_missing = true ]]
     2007       then
     2008          printf "\n  *** INFORMATIVE: some optional INPUT-files are not present"
     2009       fi
    19782010       printf "\n$dashes\n  *** all INPUT-files provided \n"
    19792011    fi
     
    22082240          endout[$nr_of_output_files]="${endout_pre[$i]}"$ending
    22092241          extout[$nr_of_output_files]="${extout_pre[$i]}"
     2242          warnout[$nr_of_output_files]="${warnout_pre[$i]}"
    22102243
    22112244       done
     
    22682301             if [[ $cycle =~ ^-?[0-9]+$ ]]
    22692302             then
    2270                 (( icycle = $cycle + 1 ))
     2303                   # NUMBERS WITH LEADING ZEROS ARE INTERPRETED AS OCTAL NUMBERS
     2304                   # 10# EXPLICITLY SPECIFIES THE NUMBER BASE AS 10
     2305                (( icycle = $((10#$cycle)) + 1 ))
    22712306             else
    22722307                (( icycle = 1 ))
     
    23462381       if [[ ! -f ${localout[$i]}  &&  $files_for_cores = false ]]
    23472382       then
    2348           printf "\n  +++ temporary OUTPUT-file  ${localout[$i]}  does not exist\n"
     2383          if [[ ${warnout[$i]} = true ]]
     2384          then
     2385             printf "\n  +++ temporary OUTPUT-file  ${localout[$i]}  does not exist\n"
     2386          fi
    23492387       elif [[ ! -d ${localout[$i]}  &&  $files_for_cores = true ]]
    23502388       then
    2351           printf "\n  +++ temporary OUTPUT-file  ${localout[$i]}/....  does not exist\n"
     2389          if [[ ${warnout[$i]} = true ]]
     2390          then
     2391             printf "\n  +++ temporary OUTPUT-file  ${localout[$i]}/....  does not exist\n"
     2392          fi
    23522393       else
    23532394
  • palm/trunk/SOURCE/check_open.f90

    r2516 r2669  
    2525! -----------------
    2626! $Id$
     27! file name extension for masked data files is changed to "_M##" and is now
     28! appended at the end of the filename,
     29! file ids not used any more have been removed
     30!
     31! 2516 2017-10-04 11:03:04Z suehring
    2732! Remove tabs
    2833!
     
    184189    IMPLICIT NONE
    185190
    186     CHARACTER (LEN=2)   ::  mask_char               !<
     191    CHARACTER (LEN=4)   ::  mask_char               !<
    187192    CHARACTER (LEN=2)   ::  suffix                  !<
    188193    CHARACTER (LEN=30)  ::  filename                !<
     
    209214    IF ( openfile(file_id)%opened_before )  THEN
    210215       SELECT CASE ( file_id )
    211           CASE ( 13, 14, 21, 22, 23, 80:85, 117 )
     216          CASE ( 13, 14, 21, 22, 23, 80, 85, 117 )
    212217             IF ( file_id == 14 .AND. openfile(file_id)%opened_before )  THEN
    213218                message_string = 're-open of unit ' //                         &
     
    230235    SELECT CASE ( file_id )
    231236
    232        CASE ( 15, 16, 17, 18, 19, 50:59, 81:84, 104:105, 107, 109, 117 )
     237       CASE ( 15, 16, 17, 18, 19, 50:59, 104:105, 107, 109, 117 )
    233238     
    234239          IF ( myid /= 0 )  THEN
     
    260265          ENDIF
    261266
    262        CASE ( 27, 28, 29, 31, 33, 71:73, 90:99 )
     267       CASE ( 90:99 )
    263268
    264269!
     
    479484          ENDIF
    480485
    481        CASE ( 81 )
    482 
    483              OPEN ( 81, FILE='PLOTSP_X_PAR'//TRIM( coupling_char ),            &
    484                         FORM='FORMATTED', DELIM='APOSTROPHE', RECL=1500,       &
    485                         POSITION='APPEND' )
    486 
    487        CASE ( 82 )
    488 
    489              OPEN ( 82, FILE='PLOTSP_X_DATA'//TRIM( coupling_char ),           &
    490                         FORM='FORMATTED', POSITION = 'APPEND' )
    491 
    492        CASE ( 83 )
    493 
    494              OPEN ( 83, FILE='PLOTSP_Y_PAR'//TRIM( coupling_char ),            &
    495                         FORM='FORMATTED', DELIM='APOSTROPHE', RECL=1500,       &
    496                         POSITION='APPEND' )
    497 
    498        CASE ( 84 )
    499 
    500              OPEN ( 84, FILE='PLOTSP_Y_DATA'//TRIM( coupling_char ),           &
    501                         FORM='FORMATTED', POSITION='APPEND' )
    502 
    503486       CASE ( 85 )
    504487
     
    10781061          IF ( file_id <= 200+max_masks )  THEN
    10791062             mid = file_id - 200
    1080              WRITE ( mask_char,'(I2.2)') mid
    1081              filename = 'DATA_MASK_' // mask_char // '_NETCDF' //              &
    1082                         TRIM( coupling_char )
     1063             WRITE ( mask_char,'(A2,I2.2)')  '_M', mid
     1064             filename = 'DATA_MASK_NETCDF' // TRIM( coupling_char ) //         &
     1065                        mask_char
    10831066             av = 0
    10841067          ELSE
    10851068             mid = file_id - (200+max_masks)
    1086              WRITE ( mask_char,'(I2.2)') mid
    1087              filename = 'DATA_MASK_' // mask_char // '_AV_NETCDF' //           &
    1088                         TRIM( coupling_char )
     1069             WRITE ( mask_char,'(A2,I2.2)')  '_M', mid
     1070             filename = 'DATA_MASK_AV_NETCDF' // TRIM( coupling_char ) //      &
     1071                        mask_char
    10891072             av = 1
    10901073          ENDIF
  • palm/trunk/SOURCE/check_parameters.f90

    r2628 r2669  
    2525! -----------------
    2626! $Id$
     27! mrun-string replaced by palmrun
     28!
     29! 2628 2017-11-20 12:40:38Z schwenkel
    2730! Enabled particle advection with grid stretching -> Removed parameter check
    2831!
     
    10221025!--    ocean run (this setting is done via mrun-option -y)
    10231026       message_string = 'ocean = .F. does not allow coupling_char = "' //      &
    1024                         TRIM( coupling_char ) // '" set by mrun-option "-y"'
     1027                        TRIM( coupling_char ) // '" set by palmrun-option "-y"'
    10251028       CALL message( 'check_parameters', 'PA0317', 1, 2, 0, 6, 0 )
    10261029
  • palm/trunk/SOURCE/init_coupling.f90

    r2365 r2669  
    2525! ------------------
    2626! $Id$
     27! file extension for vertical nesting changed to "_NV"
     28!
     29! 2365 2017-08-21 14:59:59Z kanani
    2730! Vertical nesting implemented (SadiqHuq)
    2831!
     
    192195!
    193196!-- Set file extension for vertical nesting
    194        coupling_char = '_N'
     197       coupling_char = '_NV'
    195198    ENDIF
    196199
  • palm/trunk/SOURCE/modules.f90

    r2575 r2669  
    2525! -----------------
    2626! $Id$
     27! CONTIGUOUS-attribut added to 3d pointer arrays,
     28! coupling_char extended to LEN=8
     29!
     30! 2575 2017-10-24 09:57:58Z maronga
    2731! Renamed phi -> latitude, moved longitude from radiation model to modules
    2832!
     
    776780    REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  w_3     !< pointer for swapping of timelevels for respective quantity
    777781
    778     REAL(wp), DIMENSION(:,:,:), POINTER ::  e          !< pointer: subgrid-scale turbulence kinetic energy (sgs tke)
    779     REAL(wp), DIMENSION(:,:,:), POINTER ::  e_p        !< pointer: prognostic value of sgs tke
    780     REAL(wp), DIMENSION(:,:,:), POINTER ::  nc         !< pointer: cloud drop number density
    781     REAL(wp), DIMENSION(:,:,:), POINTER ::  nc_p       !< pointer: prognostic value of cloud drop number density
    782     REAL(wp), DIMENSION(:,:,:), POINTER ::  nr         !< pointer: rain drop number density
    783     REAL(wp), DIMENSION(:,:,:), POINTER ::  nr_p       !< pointer: prognostic value of rain drop number density
    784     REAL(wp), DIMENSION(:,:,:), POINTER ::  prho       !< pointer: potential density
    785     REAL(wp), DIMENSION(:,:,:), POINTER ::  pt         !< pointer: potential temperature
    786     REAL(wp), DIMENSION(:,:,:), POINTER ::  pt_p       !< pointer: prognostic value of potential temperature
    787     REAL(wp), DIMENSION(:,:,:), POINTER ::  q          !< pointer: specific humidity
    788     REAL(wp), DIMENSION(:,:,:), POINTER ::  q_p        !< pointer: prognostic value of specific humidity
    789     REAL(wp), DIMENSION(:,:,:), POINTER ::  qc         !< pointer: cloud water content
    790     REAL(wp), DIMENSION(:,:,:), POINTER ::  qc_p       !< pointer: cloud water content
    791     REAL(wp), DIMENSION(:,:,:), POINTER ::  ql         !< pointer: liquid water content
    792     REAL(wp), DIMENSION(:,:,:), POINTER ::  ql_c       !< pointer: change in liquid water content due to
    793                                                        !< condensation/evaporation during last time step
    794     REAL(wp), DIMENSION(:,:,:), POINTER ::  qr         !< pointer: rain water content
    795     REAL(wp), DIMENSION(:,:,:), POINTER ::  qr_p       !< pointer: prognostic value of rain water content
    796     REAL(wp), DIMENSION(:,:,:), POINTER ::  rho_ocean  !< pointer: density of ocean
    797     REAL(wp), DIMENSION(:,:,:), POINTER ::  s          !< pointer: passive scalar
    798     REAL(wp), DIMENSION(:,:,:), POINTER ::  s_p        !< pointer: prognostic value of passive scalar
    799     REAL(wp), DIMENSION(:,:,:), POINTER ::  sa         !< pointer: ocean salinity
    800     REAL(wp), DIMENSION(:,:,:), POINTER ::  sa_p       !< pointer: prognostic value of ocean salinity
    801     REAL(wp), DIMENSION(:,:,:), POINTER ::  te_m       !< pointer: weighted tendency of e for previous sub-timestep (Runge-Kutta)
    802     REAL(wp), DIMENSION(:,:,:), POINTER ::  tnc_m      !< pointer: weighted tendency of nc for previous sub-timestep (Runge-Kutta)
    803     REAL(wp), DIMENSION(:,:,:), POINTER ::  tnr_m      !< pointer: weighted tendency of nr for previous sub-timestep (Runge-Kutta)
    804     REAL(wp), DIMENSION(:,:,:), POINTER ::  tpt_m      !< pointer: weighted tendency of pt for previous sub-timestep (Runge-Kutta)
    805     REAL(wp), DIMENSION(:,:,:), POINTER ::  tq_m       !< pointer: weighted tendency of q for previous sub-timestep (Runge-Kutta)
    806     REAL(wp), DIMENSION(:,:,:), POINTER ::  tqc_m      !< pointer: weighted tendency of qc for previous sub-timestep (Runge-Kutta)
    807     REAL(wp), DIMENSION(:,:,:), POINTER ::  tqr_m      !< pointer: weighted tendency of qr for previous sub-timestep (Runge-Kutta)
    808     REAL(wp), DIMENSION(:,:,:), POINTER ::  ts_m       !< pointer: weighted tendency of s for previous sub-timestep (Runge-Kutta)
    809     REAL(wp), DIMENSION(:,:,:), POINTER ::  tsa_m      !< pointer: weighted tendency of sa for previous sub-timestep (Runge-Kutta)
    810     REAL(wp), DIMENSION(:,:,:), POINTER ::  tu_m       !< pointer: weighted tendency of u for previous sub-timestep (Runge-Kutta)
    811     REAL(wp), DIMENSION(:,:,:), POINTER ::  tv_m       !< pointer: weighted tendency of v for previous sub-timestep (Runge-Kutta)
    812     REAL(wp), DIMENSION(:,:,:), POINTER ::  tw_m       !< pointer: weighted tendency of w for previous sub-timestep (Runge-Kutta)
    813     REAL(wp), DIMENSION(:,:,:), POINTER ::  u          !< pointer: horizontal velocity component u (x-direction)
    814     REAL(wp), DIMENSION(:,:,:), POINTER ::  u_p        !< pointer: prognostic value of u
    815     REAL(wp), DIMENSION(:,:,:), POINTER ::  v          !< pointer: horizontal velocity component v (y-direction)
    816     REAL(wp), DIMENSION(:,:,:), POINTER ::  v_p        !< pointer: prognostic value of v
    817     REAL(wp), DIMENSION(:,:,:), POINTER ::  vpt        !< pointer: virtual potential temperature
    818     REAL(wp), DIMENSION(:,:,:), POINTER ::  w          !< pointer: vertical velocity component w (z-direction)
    819     REAL(wp), DIMENSION(:,:,:), POINTER ::  w_p        !< pointer: prognostic value of w
     782    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  e          !< pointer: subgrid-scale turbulence kinetic energy (sgs tke)
     783    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  e_p        !< pointer: prognostic value of sgs tke
     784    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  nc         !< pointer: cloud drop number density
     785    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  nc_p       !< pointer: prognostic value of cloud drop number density
     786    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  nr         !< pointer: rain drop number density
     787    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  nr_p       !< pointer: prognostic value of rain drop number density
     788    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  prho       !< pointer: potential density
     789    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  pt         !< pointer: potential temperature
     790    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  pt_p       !< pointer: prognostic value of potential temperature
     791    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  q          !< pointer: specific humidity
     792    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  q_p        !< pointer: prognostic value of specific humidity
     793    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  qc         !< pointer: cloud water content
     794    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  qc_p       !< pointer: cloud water content
     795    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  ql         !< pointer: liquid water content
     796    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  ql_c       !< pointer: change in liquid water content due to
     797                                                                   !< condensation/evaporation during last time step
     798    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  qr         !< pointer: rain water content
     799    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  qr_p       !< pointer: prognostic value of rain water content
     800    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  rho_ocean  !< pointer: density of ocean
     801    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  s          !< pointer: passive scalar
     802    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  s_p        !< pointer: prognostic value of passive scalar
     803    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  sa         !< pointer: ocean salinity
     804    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  sa_p       !< pointer: prognostic value of ocean salinity
     805    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  te_m       !< pointer: weighted tendency of e for previous sub-timestep (Runge-Kutta)
     806    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tnc_m      !< pointer: weighted tendency of nc for previous sub-timestep (Runge-Kutta)
     807    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tnr_m      !< pointer: weighted tendency of nr for previous sub-timestep (Runge-Kutta)
     808    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tpt_m      !< pointer: weighted tendency of pt for previous sub-timestep (Runge-Kutta)
     809    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tq_m       !< pointer: weighted tendency of q for previous sub-timestep (Runge-Kutta)
     810    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tqc_m      !< pointer: weighted tendency of qc for previous sub-timestep (Runge-Kutta)
     811    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tqr_m      !< pointer: weighted tendency of qr for previous sub-timestep (Runge-Kutta)
     812    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  ts_m       !< pointer: weighted tendency of s for previous sub-timestep (Runge-Kutta)
     813    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tsa_m      !< pointer: weighted tendency of sa for previous sub-timestep (Runge-Kutta)
     814    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tu_m       !< pointer: weighted tendency of u for previous sub-timestep (Runge-Kutta)
     815    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tv_m       !< pointer: weighted tendency of v for previous sub-timestep (Runge-Kutta)
     816    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  tw_m       !< pointer: weighted tendency of w for previous sub-timestep (Runge-Kutta)
     817    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  u          !< pointer: horizontal velocity component u (x-direction)
     818    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  u_p        !< pointer: prognostic value of u
     819    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  v          !< pointer: horizontal velocity component v (y-direction)
     820    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  v_p        !< pointer: prognostic value of v
     821    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  vpt        !< pointer: virtual potential temperature
     822    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  w          !< pointer: vertical velocity component w (z-direction)
     823    REAL(wp), DIMENSION(:,:,:), POINTER, CONTIGUOUS ::  w_p        !< pointer: prognostic value of w
    820824#endif
    821825
     
    971975    CHARACTER (LEN=1)    ::  cycle_mg = 'w'                               !< namelist parameter (see documentation)
    972976    CHARACTER (LEN=1)    ::  timestep_reason = ' '                        !< 'A'dvection or 'D'iffusion criterion, written to RUN_CONTROL file
    973     CHARACTER (LEN=3)    ::  coupling_char = ''                           !< appended to filenames in coupled ocean-atmosphere runs ('_O': ocean PE, '_A': atmosphere PE)
     977    CHARACTER (LEN=8)    ::  coupling_char = ''                           !< appended to filenames in coupled or nested runs ('_O': ocean PE,
     978                                                                          !< '_NV': vertically nested atmosphere PE, '_N##': PE of nested domain ##
    974979    CHARACTER (LEN=8)    ::  most_method = 'newton'                       !< namelist parameter
    975980    CHARACTER (LEN=8)    ::  run_date                                     !< date of simulation run, printed to HEADER file
  • palm/trunk/SOURCE/plant_canopy_model_mod.f90

    r2512 r2669  
    2525! -----------------
    2626! $Id$
     27! coupling_char removed
     28!
     29! 2512 2017-10-04 08:26:59Z raasch
    2730! upper bounds of 3d output changed from nx+1,ny+1 to nx,ny
    2831! no output of ghost layer data
     
    564567
    565568       USE control_parameters,                                                 &
    566            ONLY:  coupling_char, dz, humidity, io_blocks, io_group,            &
    567                   message_string, ocean, passive_scalar, urban_surface
     569           ONLY: dz, humidity, io_blocks, io_group, message_string, ocean,     &
     570                 passive_scalar, urban_surface
    568571
    569572       USE surface_mod,                                                        &
  • palm/trunk/SOURCE/pmc_interface_mod.f90

    r2663 r2669  
    2626! -----------------
    2727! $Id$
     28! file extension for nested domains changed to "_N##",
     29! created flag file in order to enable combine_plot_fields to process nest data
     30!
     31! 2663 2017-12-04 17:40:50Z suehring
    2832! Bugfix, wrong coarse-grid index in init_tkefactor used.
    2933!
     
    561565    IF ( cpl_id >= 2 )  THEN
    562566       nest_domain = .TRUE.
    563        WRITE( coupling_char, '(A1,I2.2)') '_', cpl_id
     567       WRITE( coupling_char, '(A2,I2.2)') '_N', cpl_id
    564568    ENDIF
    565569
     
    591595    IMPLICIT NONE
    592596
     597    INTEGER(iwp) ::  ncpl   !<  number of nest domains
     598
    593599    CALL location_message( 'setup the nested model configuration', .FALSE. )
    594600!
     
    605611!-- (e.g., all children have to follow the end_time settings of the root master)
    606612    CALL pmci_check_setting_mismatches
     613!
     614!-- Set flag file for combine_plot_fields for precessing the nest output data
     615    OPEN( 90, FILE='3DNESTING', FORM='FORMATTED' )
     616    CALL pmc_get_model_info( ncpl = ncpl )
     617    WRITE( 90, '(I2)' )  ncpl
     618    CLOSE( 90 )
    607619
    608620    CALL location_message( 'finished', .TRUE. )
  • palm/trunk/SOURCE/synthetic_turbulence_generator_mod.f90

    r2576 r2669  
    2525! -----------------
    2626! $Id$
     27! unit number for file containing turbulence generator data changed to 90
     28! bugfix: preprocessor directives added for MPI specific code
     29!
     30! 2576 2017-10-24 13:49:46Z Giersch
    2731! Definition of a new function called stg_skip_var_list to skip module
    2832! parameters during reading restart data
     
    312316    IMPLICIT NONE
    313317
     318#if defined( __parallel )
    314319    INTEGER(KIND=MPI_ADDRESS_KIND) :: extent !< extent of new MPI type
    315320    INTEGER(KIND=MPI_ADDRESS_KIND) :: tob=0  !< dummy variable
     321#endif
    316322
    317323    INTEGER(iwp) :: j                        !> loop index
     
    362368               tu(nzb:nzt+1),  tv(nzb:nzt+1),  tw(nzb:nzt+1)   )
    363369
     370#if defined( __parallel )
    364371!
    365372!-- Define MPI type used in stg_generate_seed_yz to gather vertical splitted
     
    391398       displs(j) = 0 + (nzt_x-nzb_x+1) * (j-1)
    392399    ENDDO
     400#endif
    393401
    394402!
     
    408416!-- zw: lwy, lwz, tw, r31, r32, r33, d3
    409417!-- WARNING: zz is not used at the moment
    410     OPEN( 24, FILE='STG_PROFILES'//TRIM( coupling_char ), STATUS='OLD',        &
     418    OPEN( 90, FILE='STG_PROFILES'//TRIM( coupling_char ), STATUS='OLD',        &
    411419                   FORM='FORMATTED')
    412420
    413421    ! Skip header
    414     READ( 24, * )
     422    READ( 90, * )
    415423
    416424    DO  k = nzb, nzt+1
    417        READ( 24, * ) zz, luy, luz, tu(k), lvy, lvz, tv(k), lwy, lwz, tw(k),    &
     425       READ( 90, * ) zz, luy, luz, tu(k), lvy, lvz, tv(k), lwy, lwz, tw(k),    &
    418426                     r11(k), r21(k), r22(k), r31(k), r32(k), r33(k),           &
    419427                     d1, d2, d3, d5
     
    438446    ENDDO
    439447
    440     CLOSE(24)
     448    CLOSE( 90 )
    441449
    442450!
  • palm/trunk/SOURCE/wind_turbine_model_mod.f90

    r2576 r2669  
    2626! -----------------
    2727! $Id$
     28! filename of turbine output changed to WTM_OUTPUT_DATA. File extension now
     29! includes the nest domain number. Turbine extension changed to "_T##"
     30!
     31! 2576 2017-10-24 13:49:46Z Giersch
    2832! Definition of a new function called wtm_skip_var_list to skip module
    2933! parameters during reading restart data
     
    113117
    114118    USE control_parameters,                                                    &
    115         ONLY:  dt_3d, dz, message_string, simulated_time, wind_turbine,        &
    116                initializing_actions
     119        ONLY:  coupling_char, dt_3d, dz, message_string, simulated_time,       &
     120               wind_turbine, initializing_actions
    117121
    118122    USE cpulog,                                                                &
     
    15561560       IMPLICIT NONE
    15571561
    1558        CHARACTER (LEN=2) ::  turbine_id
     1562       CHARACTER (LEN=4) ::  turbine_id
    15591563
    15601564       INTEGER(iwp) ::  i, j, k          !< loop indices
     
    23672371                ELSE
    23682372
    2369                    WRITE ( turbine_id,'(I2.2)')  inot
    2370                    OPEN ( 400+inot, FILE=( 'TURBINE_PARAMETERS'//turbine_id ), &
    2371                                             FORM='FORMATTED' )
     2373                   WRITE ( turbine_id,'(A2,I2.2)')  '_T', inot
     2374                   OPEN ( 400+inot, FILE=( 'WTM_OUTPUT_DATA' //                &
     2375                                           TRIM( coupling_char ) //            &
     2376                                           turbine_id ), FORM='FORMATTED' )
    23722377                   WRITE ( 400+inot, 105 ) inot
    23732378                   WRITE ( 400+inot, 106 ) simulated_time, omega_rot(inot),    &
  • palm/trunk/UTIL/combine_plot_fields.f90

    r2523 r2669  
    2525! -----------------
    2626! $Id$
     27! data of 3d-nest runs are completely processed now
     28!
     29! 2523 2017-10-05 14:42:47Z kanani
    2730! Increased LEN for CHARACTER variable var_name, equal to the value in PALM
    2831!
     
    105108!
    106109!-- Local variables
    107     CHARACTER (LEN=2)    ::  modus, model_string
     110    CHARACTER (LEN=2)    ::  modus
     111    CHARACTER (LEN=4)    ::  model_string
    108112    CHARACTER (LEN=6)    ::  id_string
    109113    CHARACTER (LEN=30)   ::  dimname, var_name
     
    116120    INTEGER(iwp) ::  av, danz, i, id, j, k, model, models, nc_stat,            &
    117121                     nxa, nxag, nxe, nxeg, nya, nyag, nye, nyeg,               &
    118                      nza, nze, pos, time_step,                                 &
    119                      xa, xe, xxa, xxe, ya, ya_do, ya_tot, ye, ye_do, ye_tot, yya, yye, za,   &
    120                      ze, zza, zze
     122                     nza, nze, pos, time_step, xa, xe, xxa, xxe, ya, ya_do,    &
     123                     ya_tot, ye, ye_do, ye_tot, yya, yye, za, ze, zza, zze
    121124
    122125    INTEGER(8)                        ::  count, count_rate
     
    128131    INTEGER(iwp), DIMENSION(0:1,1000) ::  id_var, levels
    129132
    130     LOGICAL  ::  found, netcdf_output, netcdf_parallel, netcdf_0, netcdf_1
    131     LOGICAL  :: vnest
     133    LOGICAL  ::  found, nest3d, netcdf_output, netcdf_parallel, netcdf_0,      &
     134                 netcdf_1, vnest
    132135
    133136    REAL(wp) ::  cpu_start_time, cpu_end_time, dx, simulated_time
     
    142145
    143146!
    144 !-- Find out if a coupled run has been carried out
     147!-- Find out if a coupled or nested run has been carried out
    145148    INQUIRE( FILE='COUPLING_PORT_OPENED', EXIST=found )
    146149    INQUIRE( FILE='VNESTING_PORT_OPENED', EXIST=vnest )
     150    INQUIRE( FILE='3DNESTING', EXIST=nest3d )
    147151    IF ( found )  THEN
    148152       models = 2
     
    151155       models = 2
    152156       PRINT*, '    Vertically nested grid coupling'
     157    ELSEIF ( nest3d )  THEN
     158       OPEN( 90, FILE='3DNESTING', FORM='FORMATTED' )
     159       READ ( 90, '(I2)' )  models
     160       CLOSE ( 90 )
     161       PRINT*, '    3d-nest run'
     162       PRINT*, '    number of nest domains = ', models
    153163    ELSE
    154164       models = 1
     
    171181!
    172182!--    Set the model string used to identify the filenames
    173        IF ( models == 2 )  THEN
     183       IF ( found  .OR.  vnest )  THEN
    174184          PRINT*, ''
    175           PRINT*, '*** combine_plot_fields ***'
    176185          IF ( model == 2 )  THEN
    177186             IF ( vnest )  THEN
     
    193202             ENDIF
    194203          ENDIF
     204       ELSEIF ( nest3d )  THEN
     205          PRINT*, ''
     206          PRINT*, '--> processing nest id = ', model
     207          IF ( model == 1 )  THEN
     208             model_string = ''
     209          ELSE
     210             WRITE( model_string, '(A2,I2.2)' )  '_N', model
     211          ENDIF
    195212       ENDIF
    196213!
     
    260277!--       Info-output
    261278          PRINT*, ''
    262           PRINT*, '*** combine_plot_fields ***'
    263279#if defined( __netcdf )
    264280          IF ( netcdf_output )  THEN
     
    568584!--    Info-output
    569585       PRINT*, ' '
    570        PRINT*, '*** combine_plot_fields ***'
    571586
    572587!
Note: See TracChangeset for help on using the changeset viewer.