Changeset 2669 for palm/trunk
- Timestamp:
- Dec 6, 2017 4:03:27 PM (7 years ago)
- Location:
- palm/trunk
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/.palm.iofiles
r2559 r2669 1 1 # 2 #---------------------------------------------------------------------------- 2 #------------------------------------------------------------------------------------------ 3 3 # 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 #------------------------------------------------------------------------------------------ 5 PARIN in:tr d3# $base_data/$fname/INPUT _p3d* 6 PARIN in:tr d3r $base_data/$fname/INPUT _p3dr* 7 PARIN in:tr pcr $base_data/$fname/INPUT _pcr 8 TOPOGRAPHY_DATA inopt:tr d3#:d3r $base_data/$fname/INPUT _topo* 9 WTM_DATA inopt:tr d3#:d3r $base_data/$fname/INPUT _wtm 10 BININ in:lnpe d3r:rec $fast_io_catalog/$fname/RESTART _d3d 11 PARTICLE_RESTART_DATA_IN in:lnpe prtr $fast_io_catalog/$fname/RESTART _rprt 12 DATA_1D_PR_NETCDF inopt prr $base_data/$fname/OUTPUT _pr* nc 13 DATA_1D_SP_NETCDF inopt spr $base_data/$fname/OUTPUT _sp* nc 14 DATA_1D_TS_NETCDF inopt tsr $base_data/$fname/OUTPUT _ts* nc 15 DATA_1D_PTS_NETCDF inopt ptsr $base_data/$fname/OUTPUT _pts* nc 16 DATA_2D_XY_NETCDF inopt xyr $base_data/$fname/OUTPUT _xy* nc 17 DATA_2D_XY_AV_NETCDF inopt xyr $base_data/$fname/OUTPUT _xy_av* nc 18 DATA_2D_XZ_NETCDF inopt xzr $base_data/$fname/OUTPUT _xz* nc 19 DATA_2D_YZ_NETCDF inopt yzr $base_data/$fname/OUTPUT _yz* nc 20 DATA_3D_NETCDF inopt 3dr $base_data/$fname/OUTPUT _3d* nc 21 DATA_3D_AV_NETCDF inopt 3dr $base_data/$fname/OUTPUT _3d* nc 22 DATA_MASK_NETCDF inopt mar $base_data/$fname/OUTPUT _masked nc 23 DATA_MASK_AV_NETCDF inopt mar $base_data/$fname/OUTPUT _masked_av nc 24 DATA_PRT_NETCDF inopt:pe prtr $base_data/$fname/OUTPUT _prt* nc 35 25 # 36 #---------------------------------------------------------------------------- 26 #------------------------------------------------------------------------------------------ 37 27 # List of output-files 38 #---------------------------------------------------------------------------- 39 BINOUT out:loc:lnpe restart $fast_io_catalog/$fname/RESTART _d3d40 PARTICLE_RESTART_DATA_OUT out:loc:lnpe prt#:prtr $fast_io_catalog/$fname/RESTART _rprt28 #------------------------------------------------------------------------------------------ 29 BINOUT* out:lnpe restart $fast_io_catalog/$fname/RESTART _d3d 30 PARTICLE_RESTART_DATA_OUT* out:lnpe prt#:prtr $fast_io_catalog/$fname/RESTART _rprt 41 31 # 42 RUN_CONTROL out:loc:tr d3#:pcr $base_data/$fname/MONITORING_rc43 RUN_CONTROL out:loc:tra d3r $base_data/$fname/MONITORING_rc44 HEADER out:loc:tr d3#:pcr $base_data/$fname/MONITORING_header45 HEADER out:loc:tra d3r $base_data/$fname/MONITORING_header46 CPU_MEASURES out:loc:tr d3#:pcr $base_data/$fname/MONITORING_cpu47 CPU_MEASURES out:loc:tra d3r $base_data/$fname/MONITORING_cpu48 PARTICLE_INFO out:loc:tr pt# $base_data/$fname/MONITORING_prt_info49 PARTICLE_INFO out:loc:tra ptr $base_data/$fname/MONITORING_prt_info50 LIST_PROFIL out:loc:tr d3# $base_data/$fname/MONITORING_list_pr32 RUN_CONTROL* out:tr d3#:pcr $base_data/$fname/MONITORING _rc 33 RUN_CONTROL* out:tra d3r $base_data/$fname/MONITORING _rc 34 HEADER* out:tr d3#:pcr $base_data/$fname/MONITORING _header 35 HEADER* out:tra d3r $base_data/$fname/MONITORING _header 36 CPU_MEASURES* out:tr d3#:pcr $base_data/$fname/MONITORING _cpu 37 CPU_MEASURES* out:tra d3r $base_data/$fname/MONITORING _cpu 38 PARTICLE_INFO* out:tr pt# $base_data/$fname/MONITORING _prt_info 39 PARTICLE_INFO* out:tra ptr $base_data/$fname/MONITORING _prt_info 40 LIST_PROFIL* out:tr d3# $base_data/$fname/MONITORING _list_pr 51 41 # 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 42 DATA_1D_PR_NETCDF* out:tr * $base_data/$fname/OUTPUT _pr nc 43 DATA_1D_SP_NETCDF out:tr * $base_data/$fname/OUTPUT _sp nc 44 DATA_1D_TS_NETCDF out:tr * $base_data/$fname/OUTPUT _ts nc 45 DATA_1D_PTS_NETCDF out:tr * $base_data/$fname/OUTPUT _pts nc 46 DATA_2D_XY_NETCDF* out:tr * $base_data/$fname/OUTPUT _xy nc 47 DATA_2D_XY_AV_NETCDF* out:tr * $base_data/$fname/OUTPUT _xy_av nc 48 DATA_2D_XZ_NETCDF* out:tr * $base_data/$fname/OUTPUT _xz nc 49 DATA_2D_XZ_AV_NETCDF* out:tr * $base_data/$fname/OUTPUT _xz_av nc 50 DATA_2D_YZ_NETCDF* out:tr * $base_data/$fname/OUTPUT _yz nc 51 DATA_2D_YZ_AV_NETCDF* out:tr * $base_data/$fname/OUTPUT _yz_av nc 52 DATA_3D_NETCDF* out:tr * $base_data/$fname/OUTPUT _3d nc 53 DATA_3D_AV_NETCDF* out:tr * $base_data/$fname/OUTPUT _3d_av nc 54 DATA_MASK_NETCDF* out:tr * $base_data/$fname/OUTPUT _masked nc 55 DATA_MASK_AV_NETCDF* out:tr * $base_data/$fname/OUTPUT _masked_av nc 56 56 # 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 57 DATA_PRT_NETCDF* out:pe * $base_data/$fname/OUTPUT _prt 58 DATA_PRT_NETCDF* out:trpe * $base_data/$fname/OUTPUT _prt 59 PARTICLE_DATA* out:lnpe * $base_data/$fname/OUTPUT _prt_dat 88 60 # 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 61 WTM_OUTPUT_DATA* out:tr * $base_data/$fname/MONITORING _wtm -
palm/trunk/SCRIPTS/palmrun
r2639 r2669 27 27 # ----------------- 28 28 # $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 29 37 # use of wildcards in file connection statements enabled 30 38 # … … 515 523 do 516 524 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"` 520 527 521 528 # INTERPRET THE LINE … … 535 542 # LINE DEFINES FILE CONNECTION. READ THE FILE ATTRIBUTES. 536 543 # 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) 542 548 if [[ $(echo $s2 | grep -c ":") = 0 ]] 543 549 then 550 s2a=$s2 544 551 s2b="" 545 s2c=""546 552 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` 554 562 555 563 … … 558 566 # VARIABLE S3 MAY CONTAIN A LIST OF ACTIVATION STRINGS (FIELD-SEPERATOR ":"). 559 567 # 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 CONNECTION568 # LOCALLY REQUIRED ON THAT MACHINE (I.E. s2b != tr), THE FILE CONNECTION 561 569 # IS NOT CHECKED AND STORED. 562 570 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 ) ]] 564 572 then 565 573 found=false … … 574 582 then 575 583 (( 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; 577 585 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 578 592 579 593 # FILES WITH JOB-ATTRIBUTE ARE STORED IN THE SOURCES_FOR_RUN 580 594 # 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 ]] 582 596 then 583 597 pathin_pre[$iin]=${fast_io_catalog}/${sources_for_run_catalog} … … 588 602 if [[ "${s5: -1}" = "*" ]] 589 603 then 590 if [[ "$s2 c" = "di" ]]604 if [[ "$s2b" = "di" ]] 591 605 then 592 606 printf "\n +++ wildcards (*) not allowed with \"di\" file attribute." … … 602 616 fi 603 617 fi 604 elif [[ "$s2a" = out && ! ( $create_remote_batch_job = true && "$s2b" = loc) ]]618 elif [[ "$s2a" = out && ! ( $create_remote_batch_job = true ) ]] 605 619 then 606 620 found=false 621 echo "### line=\"$line\" " 607 622 for actual in $activation_string_list 608 623 do 609 624 for formal in $s3 610 625 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 612 634 done 613 635 done … … 615 637 then 616 638 (( iout = iout + 1 )) 617 localout_pre[$iout]=$s1; actionout_pre[$iout]=$s2 c; typeout_pre[$iout]=$s3;639 localout_pre[$iout]=$s1; actionout_pre[$iout]=$s2b 618 640 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 619 651 620 652 # CHECK FOR MULTIPLE FILES, SET A RESPECTIVE FLAG AND REMOVE … … 622 654 if [[ "${s1: -1}" = "*" ]] 623 655 then 624 if [[ "$s2 c" = "di" ]]656 if [[ "$s2b" = "di" ]] 625 657 then 626 658 printf "\n +++ wildcards (*) not allowed with \"di\" file attribute." … … 636 668 fi 637 669 fi 638 elif [[ "$s2a" != in && "$s2a" != out ]]639 then 640 printf "\n +++ I/O-attribute in configuration file $config_file has theinvalid"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!" 642 674 locat=connect; exit 643 675 fi … … 1024 1056 then 1025 1057 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" ]] 1028 1060 then 1029 1061 printf "\n\n +++ INPUT-file: " … … 1039 1071 (( nr_of_input_files = nr_of_input_files + 1 )) 1040 1072 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" 1043 1075 pathin[$nr_of_input_files]="${pathin_pre[$i]}" 1044 1076 endin[$nr_of_input_files]="${endin_pre[$i]}" … … 1128 1160 (( nr_of_input_files = nr_of_input_files + 1 )) 1129 1161 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]}" 1131 1163 actionin[$nr_of_input_files]="${actionin_pre[$i]}" 1132 1164 pathin[$nr_of_input_files]="${pathin_pre[$i]}" … … 1164 1196 if [[ $cycle =~ ^-?[0-9]+$ ]] 1165 1197 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)) )) 1167 1201 else 1168 1202 (( icycle = 0 )) … … 1755 1789 1756 1790 1757 # WHEN CREATING A REMOTE BATCH JOB, THOSE INPUT FILES WITH JOB-ATTRIBUT WILL1758 # BE COPIED TO THE REMOTE HOST1791 # WHEN CREATING A REMOTE BATCH JOB, THOSE INPUT FILES WITH TRANSFER-ATTRIBUT 1792 # WILL BE COPIED TO THE REMOTE HOST 1759 1793 if [[ $create_remote_batch_job = true ]] 1760 1794 then … … 1763 1797 do 1764 1798 (( i = i + 1 )) 1765 if [[ "${ transin[$i]}" = job || "${transin[$i]}" = jobopt]]1799 if [[ "${actionin[$i]}" = tr ]] 1766 1800 then 1767 1801 eval inputfile=${pathin[$i]}/${frelin[$i]} … … 1802 1836 # PROVIDE THE INPUT FILES 1803 1837 # LOOP OVER ALL ACTIVATED FILES (LISTED IN THE CONFIGURATION FILE) 1838 optional_files_missing=false 1804 1839 (( i = 0 )) 1805 1840 while (( i < nr_of_input_files )) … … 1813 1848 1814 1849 # 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 1825 1853 continue 1826 1854 fi … … 1887 1915 1888 1916 # 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" ]] 1890 1918 then 1891 1919 … … 1962 1990 printf "\n --- WARNING: ln failed, using cp instead (might be time consuming...)" 1963 1991 fi 1964 if [[ $running_on_remote = true && ( "${transin[$i]}" = job || "${transin[$i]}" = jobopt )]]1992 if [[ $running_on_remote = true && "${actionin[$i]}" = tr ]] 1965 1993 then 1966 1994 mv ${absnamein[$i]} ${localin[$i]} … … 1976 2004 if (( i != 0 )) 1977 2005 then 2006 if [[ $optional_files_missing = true ]] 2007 then 2008 printf "\n *** INFORMATIVE: some optional INPUT-files are not present" 2009 fi 1978 2010 printf "\n$dashes\n *** all INPUT-files provided \n" 1979 2011 fi … … 2208 2240 endout[$nr_of_output_files]="${endout_pre[$i]}"$ending 2209 2241 extout[$nr_of_output_files]="${extout_pre[$i]}" 2242 warnout[$nr_of_output_files]="${warnout_pre[$i]}" 2210 2243 2211 2244 done … … 2268 2301 if [[ $cycle =~ ^-?[0-9]+$ ]] 2269 2302 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 )) 2271 2306 else 2272 2307 (( icycle = 1 )) … … 2346 2381 if [[ ! -f ${localout[$i]} && $files_for_cores = false ]] 2347 2382 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 2349 2387 elif [[ ! -d ${localout[$i]} && $files_for_cores = true ]] 2350 2388 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 2352 2393 else 2353 2394 -
palm/trunk/SOURCE/check_open.f90
r2516 r2669 25 25 ! ----------------- 26 26 ! $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 27 32 ! Remove tabs 28 33 ! … … 184 189 IMPLICIT NONE 185 190 186 CHARACTER (LEN= 2) :: mask_char !<191 CHARACTER (LEN=4) :: mask_char !< 187 192 CHARACTER (LEN=2) :: suffix !< 188 193 CHARACTER (LEN=30) :: filename !< … … 209 214 IF ( openfile(file_id)%opened_before ) THEN 210 215 SELECT CASE ( file_id ) 211 CASE ( 13, 14, 21, 22, 23, 80 :85, 117 )216 CASE ( 13, 14, 21, 22, 23, 80, 85, 117 ) 212 217 IF ( file_id == 14 .AND. openfile(file_id)%opened_before ) THEN 213 218 message_string = 're-open of unit ' // & … … 230 235 SELECT CASE ( file_id ) 231 236 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 ) 233 238 234 239 IF ( myid /= 0 ) THEN … … 260 265 ENDIF 261 266 262 CASE ( 27, 28, 29, 31, 33, 71:73,90:99 )267 CASE ( 90:99 ) 263 268 264 269 ! … … 479 484 ENDIF 480 485 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 503 486 CASE ( 85 ) 504 487 … … 1078 1061 IF ( file_id <= 200+max_masks ) THEN 1079 1062 mid = file_id - 200 1080 WRITE ( mask_char,'( I2.2)')mid1081 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 1083 1066 av = 0 1084 1067 ELSE 1085 1068 mid = file_id - (200+max_masks) 1086 WRITE ( mask_char,'( I2.2)')mid1087 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 1089 1072 av = 1 1090 1073 ENDIF -
palm/trunk/SOURCE/check_parameters.f90
r2628 r2669 25 25 ! ----------------- 26 26 ! $Id$ 27 ! mrun-string replaced by palmrun 28 ! 29 ! 2628 2017-11-20 12:40:38Z schwenkel 27 30 ! Enabled particle advection with grid stretching -> Removed parameter check 28 31 ! … … 1022 1025 !-- ocean run (this setting is done via mrun-option -y) 1023 1026 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"' 1025 1028 CALL message( 'check_parameters', 'PA0317', 1, 2, 0, 6, 0 ) 1026 1029 -
palm/trunk/SOURCE/init_coupling.f90
r2365 r2669 25 25 ! ------------------ 26 26 ! $Id$ 27 ! file extension for vertical nesting changed to "_NV" 28 ! 29 ! 2365 2017-08-21 14:59:59Z kanani 27 30 ! Vertical nesting implemented (SadiqHuq) 28 31 ! … … 192 195 ! 193 196 !-- Set file extension for vertical nesting 194 coupling_char = '_N '197 coupling_char = '_NV' 195 198 ENDIF 196 199 -
palm/trunk/SOURCE/modules.f90
r2575 r2669 25 25 ! ----------------- 26 26 ! $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 27 31 ! Renamed phi -> latitude, moved longitude from radiation model to modules 28 32 ! … … 776 780 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE, TARGET :: w_3 !< pointer for swapping of timelevels for respective quantity 777 781 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 tke780 REAL(wp), DIMENSION(:,:,:), POINTER :: nc !< pointer: cloud drop number density781 REAL(wp), DIMENSION(:,:,:), POINTER :: nc_p !< pointer: prognostic value of cloud drop number density782 REAL(wp), DIMENSION(:,:,:), POINTER :: nr !< pointer: rain drop number density783 REAL(wp), DIMENSION(:,:,:), POINTER :: nr_p !< pointer: prognostic value of rain drop number density784 REAL(wp), DIMENSION(:,:,:), POINTER :: prho !< pointer: potential density785 REAL(wp), DIMENSION(:,:,:), POINTER :: pt !< pointer: potential temperature786 REAL(wp), DIMENSION(:,:,:), POINTER :: pt_p !< pointer: prognostic value of potential temperature787 REAL(wp), DIMENSION(:,:,:), POINTER :: q !< pointer: specific humidity788 REAL(wp), DIMENSION(:,:,:), POINTER :: q_p !< pointer: prognostic value of specific humidity789 REAL(wp), DIMENSION(:,:,:), POINTER :: qc !< pointer: cloud water content790 REAL(wp), DIMENSION(:,:,:), POINTER :: qc_p !< pointer: cloud water content791 REAL(wp), DIMENSION(:,:,:), POINTER :: ql !< pointer: liquid water content792 REAL(wp), DIMENSION(:,:,:), POINTER :: ql_c !< pointer: change in liquid water content due to793 !< condensation/evaporation during last time step794 REAL(wp), DIMENSION(:,:,:), POINTER :: qr !< pointer: rain water content795 REAL(wp), DIMENSION(:,:,:), POINTER :: qr_p !< pointer: prognostic value of rain water content796 REAL(wp), DIMENSION(:,:,:), POINTER :: rho_ocean !< pointer: density of ocean797 REAL(wp), DIMENSION(:,:,:), POINTER :: s !< pointer: passive scalar798 REAL(wp), DIMENSION(:,:,:), POINTER :: s_p !< pointer: prognostic value of passive scalar799 REAL(wp), DIMENSION(:,:,:), POINTER :: sa !< pointer: ocean salinity800 REAL(wp), DIMENSION(:,:,:), POINTER :: sa_p !< pointer: prognostic value of ocean salinity801 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 u815 REAL(wp), DIMENSION(:,:,:), POINTER :: v !< pointer: horizontal velocity component v (y-direction)816 REAL(wp), DIMENSION(:,:,:), POINTER :: v_p !< pointer: prognostic value of v817 REAL(wp), DIMENSION(:,:,:), POINTER :: vpt !< pointer: virtual potential temperature818 REAL(wp), DIMENSION(:,:,:), POINTER :: w !< pointer: vertical velocity component w (z-direction)819 REAL(wp), DIMENSION(:,:,:), POINTER :: w_p !< pointer: prognostic value of w782 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 820 824 #endif 821 825 … … 971 975 CHARACTER (LEN=1) :: cycle_mg = 'w' !< namelist parameter (see documentation) 972 976 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 ## 974 979 CHARACTER (LEN=8) :: most_method = 'newton' !< namelist parameter 975 980 CHARACTER (LEN=8) :: run_date !< date of simulation run, printed to HEADER file -
palm/trunk/SOURCE/plant_canopy_model_mod.f90
r2512 r2669 25 25 ! ----------------- 26 26 ! $Id$ 27 ! coupling_char removed 28 ! 29 ! 2512 2017-10-04 08:26:59Z raasch 27 30 ! upper bounds of 3d output changed from nx+1,ny+1 to nx,ny 28 31 ! no output of ghost layer data … … 564 567 565 568 USE control_parameters, & 566 ONLY: coupling_char, dz, humidity, io_blocks, io_group,&567 message_string, ocean,passive_scalar, urban_surface569 ONLY: dz, humidity, io_blocks, io_group, message_string, ocean, & 570 passive_scalar, urban_surface 568 571 569 572 USE surface_mod, & -
palm/trunk/SOURCE/pmc_interface_mod.f90
r2663 r2669 26 26 ! ----------------- 27 27 ! $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 28 32 ! Bugfix, wrong coarse-grid index in init_tkefactor used. 29 33 ! … … 561 565 IF ( cpl_id >= 2 ) THEN 562 566 nest_domain = .TRUE. 563 WRITE( coupling_char, '(A 1,I2.2)') '_', cpl_id567 WRITE( coupling_char, '(A2,I2.2)') '_N', cpl_id 564 568 ENDIF 565 569 … … 591 595 IMPLICIT NONE 592 596 597 INTEGER(iwp) :: ncpl !< number of nest domains 598 593 599 CALL location_message( 'setup the nested model configuration', .FALSE. ) 594 600 ! … … 605 611 !-- (e.g., all children have to follow the end_time settings of the root master) 606 612 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 ) 607 619 608 620 CALL location_message( 'finished', .TRUE. ) -
palm/trunk/SOURCE/synthetic_turbulence_generator_mod.f90
r2576 r2669 25 25 ! ----------------- 26 26 ! $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 27 31 ! Definition of a new function called stg_skip_var_list to skip module 28 32 ! parameters during reading restart data … … 312 316 IMPLICIT NONE 313 317 318 #if defined( __parallel ) 314 319 INTEGER(KIND=MPI_ADDRESS_KIND) :: extent !< extent of new MPI type 315 320 INTEGER(KIND=MPI_ADDRESS_KIND) :: tob=0 !< dummy variable 321 #endif 316 322 317 323 INTEGER(iwp) :: j !> loop index … … 362 368 tu(nzb:nzt+1), tv(nzb:nzt+1), tw(nzb:nzt+1) ) 363 369 370 #if defined( __parallel ) 364 371 ! 365 372 !-- Define MPI type used in stg_generate_seed_yz to gather vertical splitted … … 391 398 displs(j) = 0 + (nzt_x-nzb_x+1) * (j-1) 392 399 ENDDO 400 #endif 393 401 394 402 ! … … 408 416 !-- zw: lwy, lwz, tw, r31, r32, r33, d3 409 417 !-- 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', & 411 419 FORM='FORMATTED') 412 420 413 421 ! Skip header 414 READ( 24, * )422 READ( 90, * ) 415 423 416 424 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), & 418 426 r11(k), r21(k), r22(k), r31(k), r32(k), r33(k), & 419 427 d1, d2, d3, d5 … … 438 446 ENDDO 439 447 440 CLOSE( 24)448 CLOSE( 90 ) 441 449 442 450 ! -
palm/trunk/SOURCE/wind_turbine_model_mod.f90
r2576 r2669 26 26 ! ----------------- 27 27 ! $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 28 32 ! Definition of a new function called wtm_skip_var_list to skip module 29 33 ! parameters during reading restart data … … 113 117 114 118 USE control_parameters, & 115 ONLY: dt_3d, dz, message_string, simulated_time, wind_turbine, &116 initializing_actions119 ONLY: coupling_char, dt_3d, dz, message_string, simulated_time, & 120 wind_turbine, initializing_actions 117 121 118 122 USE cpulog, & … … 1556 1560 IMPLICIT NONE 1557 1561 1558 CHARACTER (LEN= 2) :: turbine_id1562 CHARACTER (LEN=4) :: turbine_id 1559 1563 1560 1564 INTEGER(iwp) :: i, j, k !< loop indices … … 2367 2371 ELSE 2368 2372 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' ) 2372 2377 WRITE ( 400+inot, 105 ) inot 2373 2378 WRITE ( 400+inot, 106 ) simulated_time, omega_rot(inot), & -
palm/trunk/UTIL/combine_plot_fields.f90
r2523 r2669 25 25 ! ----------------- 26 26 ! $Id$ 27 ! data of 3d-nest runs are completely processed now 28 ! 29 ! 2523 2017-10-05 14:42:47Z kanani 27 30 ! Increased LEN for CHARACTER variable var_name, equal to the value in PALM 28 31 ! … … 105 108 ! 106 109 !-- Local variables 107 CHARACTER (LEN=2) :: modus, model_string 110 CHARACTER (LEN=2) :: modus 111 CHARACTER (LEN=4) :: model_string 108 112 CHARACTER (LEN=6) :: id_string 109 113 CHARACTER (LEN=30) :: dimname, var_name … … 116 120 INTEGER(iwp) :: av, danz, i, id, j, k, model, models, nc_stat, & 117 121 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 121 124 122 125 INTEGER(8) :: count, count_rate … … 128 131 INTEGER(iwp), DIMENSION(0:1,1000) :: id_var, levels 129 132 130 LOGICAL :: found, ne tcdf_output, netcdf_parallel, netcdf_0, netcdf_1131 LOGICAL ::vnest133 LOGICAL :: found, nest3d, netcdf_output, netcdf_parallel, netcdf_0, & 134 netcdf_1, vnest 132 135 133 136 REAL(wp) :: cpu_start_time, cpu_end_time, dx, simulated_time … … 142 145 143 146 ! 144 !-- Find out if a coupled run has been carried out147 !-- Find out if a coupled or nested run has been carried out 145 148 INQUIRE( FILE='COUPLING_PORT_OPENED', EXIST=found ) 146 149 INQUIRE( FILE='VNESTING_PORT_OPENED', EXIST=vnest ) 150 INQUIRE( FILE='3DNESTING', EXIST=nest3d ) 147 151 IF ( found ) THEN 148 152 models = 2 … … 151 155 models = 2 152 156 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 153 163 ELSE 154 164 models = 1 … … 171 181 ! 172 182 !-- Set the model string used to identify the filenames 173 IF ( models == 2) THEN183 IF ( found .OR. vnest ) THEN 174 184 PRINT*, '' 175 PRINT*, '*** combine_plot_fields ***'176 185 IF ( model == 2 ) THEN 177 186 IF ( vnest ) THEN … … 193 202 ENDIF 194 203 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 195 212 ENDIF 196 213 ! … … 260 277 !-- Info-output 261 278 PRINT*, '' 262 PRINT*, '*** combine_plot_fields ***'263 279 #if defined( __netcdf ) 264 280 IF ( netcdf_output ) THEN … … 568 584 !-- Info-output 569 585 PRINT*, ' ' 570 PRINT*, '*** combine_plot_fields ***'571 586 572 587 !
Note: See TracChangeset
for help on using the changeset viewer.