- Timestamp:
- Oct 30, 2018 2:29:54 PM (6 years ago)
- Location:
- palm/trunk/UTIL/inifor
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/UTIL/inifor/README
r3395 r3456 1 # INIFOR - Mesoscale Interface for Initializing and Forcing PALM-4U (v1.4. 0)1 # INIFOR - Mesoscale Interface for Initializing and Forcing PALM-4U (v1.4.1) 2 2 3 3 INIFOR provides the meteorological fields required to initialize and drive the … … 64 64 65 65 66 ### AVAILABLENAMELIST PARAMETERS66 ### NAMELIST PARAMETERS 67 67 68 68 INIFOR mirrors a subset of the PALM-4U's Fortran namelists `inipar` and `d3par` … … 103 103 104 104 105 ### AVAILABLE COMMAND-LINE PARAMETERS 105 ### COMMAND-LINE PARAMETERS 106 107 #### INIFOR configuration 108 106 109 --averaging-mode <mode>: 107 110 Selects how averaged quantities (large-scale forcing terms) are computed. … … 114 117 115 118 -d, --date, -date <date>: 116 Start date of the simulation in the form YYYYMMDD o fYYYYMMDDHH. If no119 Start date of the simulation in the form YYYYMMDD or YYYYMMDDHH. If no 117 120 hours (HH) are given, INIFOR assumes that the simulation starts at O UTC 118 121 on that day. Default: 20130721 … … 122 125 as either profiles or three-dimensional fields. The corresponding modes 123 126 are 'profile' and 'volume'. Default: volume 127 128 -r, --surface-pressure, -p0 <pressure>: 129 Manually set the pressure at z=0 in the PALM-4U domain [Pa]. If not 130 given, the surface pressure is computed from the COSMO pressure field. 131 132 -u, --geostrophic-u, -ug <velocity>: 133 Manually specify the geostrophic wind in x direction [m/s]. If not 134 given, the geostrophic wind is computed from the COSMO pressure field. 135 136 -v, --geostrophic-v, -vg <velocity>: 137 Manually specify the geostrophic wind in y direction [m/s]. If not 138 given, the geostrophic wind is computed from the COSMO pressure field. 139 140 -z, --elevation, -z0 <height>: Specifies the elevation of the PALM-4U domain 141 above sea level [m]. Default: 35 142 143 #### I/O 124 144 125 145 -l, --hhl-file, -hhl <netCDF file>: … … 140 160 Scenario path, i.e. the path of the meteorological input data. Default: ./ 141 161 142 -r, --surface-pressure, -p0 <pressure>:143 Manually set the pressure at z=0 in the PALM-4U domain [Pa]. If not144 given, the surface pressure is computed from the COSMO pressure field.145 146 162 -s, --soil-file, -soil <netCDF file>: 147 163 Location of the netCDF file containing the COSMO soil type map. … … 152 168 to be simulated with PALM-4U. Optional parameter. Default: None 153 169 154 -u, --geostrophic-u, -ug <velocity>:155 Manually specify the geostrophic wind in x direction [m/s]. If not156 given, the geostrophic wind is computed from the COSMO pressure field.157 158 -v, --geostrophic-v, -vg <velocity>:159 Manually specify the geostrophic wind in y direction [m/s]. If not160 given, the geostrophic wind is computed from the COSMO pressure field.161 162 -z, --elevation, -z0 <height>: Specifies the elevation of the PALM-4U domain163 above sea level [m]. Default: 35164 170 165 171 166 #### ADDITIONAL COMMAND-LINE OPTIONS172 #### FILE PREFIXES 167 173 168 174 --input-prefix <prefix>: … … 182 188 Set the file prefix of soil moisture input files. Default: laf 183 189 190 #### Non-parameter options 191 184 192 --debug: 185 Enable debugging messages.193 Enable additional terminal messages and netCDF output for debugging. 186 194 187 195 --version: -
palm/trunk/UTIL/inifor/src/inifor.f90
r3401 r3456 26 26 ! ----------------- 27 27 ! $Id$ 28 ! NetCDf output of internal arrays only with --debug option 29 ! 30 ! 31 ! 3401 2018-10-23 09:33:31Z eckhard 28 32 ! Re-compute geostrophic winds every time step 29 33 ! … … 125 129 126 130 ! Add the output variables to the netCDF output file 127 CALL setup_netcdf_variables(output_file % name, output_var_table) 131 CALL setup_netcdf_variables(output_file % name, output_var_table, & 132 cfg % debug) 128 133 129 134 CALL setup_io_groups() … … 424 429 message = "Writing variable '" // TRIM(output_var%name) // "'." 425 430 CALL report('main loop', message) 426 CALL update_output(output_var, output_arr, iter, output_file) 431 CALL update_output(output_var, output_arr, iter, & 432 output_file, cfg) 427 433 CALL run_control('time', 'write') 428 434 END IF -
palm/trunk/UTIL/inifor/src/inifor_defs.f90
r3447 r3456 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Bumped version number 29 ! 30 ! 31 ! 3447 2018-10-29 15:52:54Z eckhard 28 32 ! Renamed source files for compatibilty with PALM build system 29 33 ! … … 94 98 INTEGER, PARAMETER :: FORCING_STEP = 1 !< Number of hours between forcing time steps [h] 95 99 REAL(dp), PARAMETER :: NUDGING_TAU = 21600.0_dp !< Nudging relaxation time scale [s] 96 CHARACTER(LEN=*), PARAMETER :: VERSION = '1.4. 0' !< INIFOR version number100 CHARACTER(LEN=*), PARAMETER :: VERSION = '1.4.1' !< INIFOR version number 97 101 CHARACTER(LEN=*), PARAMETER :: COPYRIGHT = 'Copyright 2017-2018 Leibniz Universitaet Hannover' // & 98 102 NEW_LINE(' ') // ' Copyright 2017-2018 Deutscher Wetterdienst Offenbach' !< Copyright notice -
palm/trunk/UTIL/inifor/src/inifor_grid.f90
r3447 r3456 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Remove surface forcing from netCDF output (radiation + precipitation) 29 ! NetCDf output of internal arrays only with --debug option 30 ! 31 ! 32 ! 3447 2018-10-29 15:52:54Z eckhard 28 33 ! Renamed source files for compatibilty with PALM build system 29 34 ! … … 185 190 LOGICAL :: ls_forcing_variables_required 186 191 LOGICAL :: profile_grids_required 192 LOGICAL :: surface_forcing_required 187 193 188 194 TYPE(nc_var), ALLOCATABLE, TARGET :: input_var_table(:) !< table of input variables … … 371 377 boundary_variables_required = TRIM( cfg % bc_mode ) == 'real' 372 378 ls_forcing_variables_required = TRIM( cfg % bc_mode ) == 'ideal' 379 surface_forcing_required = .FALSE. 373 380 374 381 IF ( ls_forcing_variables_required ) THEN … … 3270 3277 var % dimvarids(3) = output_file % dimvarid_time 3271 3278 var % dimvarids(1:2) = output_file % dimvarids_soil(1:2) 3272 var % to_be_processed = boundary_variables_required3279 var % to_be_processed = surface_forcing_required 3273 3280 var % is_internal = .FALSE. 3274 3281 var % task = "interpolate_2d" -
palm/trunk/UTIL/inifor/src/inifor_io.f90
r3447 r3456 26 26 ! ----------------- 27 27 ! $Id$ 28 ! NetCDf output of internal arrays only with --debug option 29 ! 30 ! 31 ! 3447 2018-10-29 15:52:54Z eckhard 28 32 ! Removed INCLUDE statement for get_netcdf_variable() 29 33 ! Renamed source files for compatibilty with PALM build system … … 711 715 712 716 713 SUBROUTINE setup_netcdf_variables(filename, output_variable_table )717 SUBROUTINE setup_netcdf_variables(filename, output_variable_table, debug) 714 718 715 719 CHARACTER (LEN=*), INTENT(IN) :: filename 716 720 TYPE(nc_var), INTENT(INOUT), TARGET :: output_variable_table(:) 721 LOGICAL, INTENT(IN) :: debug 722 717 723 TYPE(nc_var), POINTER :: var 718 724 INTEGER :: i, ncid 725 LOGICAL :: to_be_written 719 726 720 727 message = "Defining variables in dynamic driver '" // TRIM(filename) // "'." … … 728 735 var => output_variable_table(i) 729 736 730 IF ( var % to_be_processed ) THEN 737 to_be_written = ( var % to_be_processed .AND. .NOT. var % is_internal) .OR. & 738 ( var % is_internal .AND. debug ) 739 740 IF ( to_be_written ) THEN 731 741 message = " variable #" // TRIM(str(i)) // " '" // TRIM(var%name) // "'." 732 742 CALL report('setup_netcdf_variables', message) … … 920 930 921 931 922 SUBROUTINE update_output(var, array, iter, output_file )932 SUBROUTINE update_output(var, array, iter, output_file, cfg) 923 933 TYPE(nc_var), INTENT(IN) :: var 924 934 REAL(dp), INTENT(IN) :: array(:,:,:) 925 935 INTEGER, INTENT(IN) :: iter 926 936 TYPE(nc_file), INTENT(IN) :: output_file 937 TYPE(inifor_config) :: cfg 927 938 928 939 INTEGER :: ncid, ndim, start(4), count(4) … … 1007 1018 start=start(1:ndim+1) ) ) 1008 1019 1009 CASE ( 'constant scalar profile', 'geostrophic' , 'internal profile')1020 CASE ( 'constant scalar profile', 'geostrophic' ) 1010 1021 1011 1022 CALL check(nf90_put_var( ncid, var%varid, array(1,1,:), & 1012 1023 start=start(1:ndim+1), & 1013 1024 count=count(1:ndim) ) ) 1025 1026 CASE ( 'internal profile' ) 1027 1028 IF ( cfg % debug ) THEN 1029 CALL check(nf90_put_var( ncid, var%varid, array(1,1,:), & 1030 start=start(1:ndim+1), & 1031 count=count(1:ndim) ) ) 1032 END IF 1014 1033 1015 1034 CASE ( 'large-scale scalar forcing', 'large-scale w forcing' )
Note: See TracChangeset
for help on using the changeset viewer.