Changeset 4538 for palm/trunk/UTIL
- Timestamp:
- May 18, 2020 1:45:35 PM (5 years ago)
- Location:
- palm/trunk/UTIL/inifor/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/UTIL/inifor/src/inifor_defs.f90
r4523 r4538 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Bumped version number 29 ! 30 ! 31 ! 4523 2020-05-07 15:58:16Z eckhard 28 32 ! Updated copyright notice, bumped version number 29 33 ! … … 188 192 ACHAR( 10 ) // ' Copyright 2017-2020 Deutscher Wetterdienst Offenbach' !< Copyright notice 189 193 CHARACTER(LEN=*), PARAMETER :: LOG_FILE_NAME = 'inifor.log' !< Name of INIFOR's log file 190 CHARACTER(LEN=*), PARAMETER :: VERSION = '1.4.1 3' !< INIFOR version number194 CHARACTER(LEN=*), PARAMETER :: VERSION = '1.4.14' !< INIFOR version number 191 195 192 196 END MODULE inifor_defs -
palm/trunk/UTIL/inifor/src/inifor_grid.f90
r4523 r4538 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Modularize setup of PALM origin 29 ! 30 ! 31 ! 4523 2020-05-07 15:58:16Z eckhard 28 32 ! respect integer working precision (iwp) specified in inifor_defs.f90 29 33 ! … … 166 170 PIDS_ORIGIN_Z 167 171 USE inifor_io, & 168 ONLY: get_cosmo_grid, get_ netcdf_attribute, get_netcdf_dim_vector,&169 get_netcdf_ variable, parse_command_line_arguments,&170 get_input_file_list, validate_config172 ONLY: get_cosmo_grid, get_input_file_list, get_netcdf_attribute, & 173 get_netcdf_dim_vector, get_netcdf_variable, set_palm_origin, & 174 parse_command_line_arguments, validate_config 171 175 USE inifor_transform, & 172 176 ONLY: average_2d, rotate_to_cosmo, find_horizontal_neighbours, & … … 561 565 CALL get_netcdf_variable(cfg%soiltyp_file, cosmo_var, soiltyp) 562 566 563 message = 'Reading PALM-4U origin from' 564 IF (TRIM(cfg%static_driver_file) .NE. '') THEN 565 566 origin_lon = get_netcdf_attribute(cfg%static_driver_file, TRIM( PIDS_ORIGIN_LON ) ) 567 origin_lat = get_netcdf_attribute(cfg%static_driver_file, TRIM( PIDS_ORIGIN_LAT ) ) 568 z0 = get_netcdf_attribute(cfg%static_driver_file, TRIM( PIDS_ORIGIN_Z ) ) 569 570 571 message = TRIM(message) // " static driver file '" & 572 // TRIM(cfg%static_driver_file) // "'" 573 574 575 ELSE 576 577 origin_lon = longitude 578 origin_lat = latitude 579 580 message = TRIM(message) // " namlist file '" & 581 // TRIM(cfg%namelist_file) // "'" 582 583 ENDIF 584 origin_lon = origin_lon * TO_RADIANS 585 origin_lat = origin_lat * TO_RADIANS 586 587 CALL report('setup_parameters', message) 588 589 IF ( cfg%z0_is_set .AND. TRIM( cfg%static_driver_file ) .NE. '' ) THEN 590 591 message = 'You specified both --static-driver/-t and --elevation/-z0. ' // & 592 'Using the command line value (' // TRIM( real_to_str_f( cfg%z0 ) ) // & 593 ') instead of static driver value (' // TRIM( real_to_str_f( z0 ) ) // ').' 594 CALL warn('setup_parameters', message) 595 596 z0 = cfg%z0 597 598 END IF 599 567 CALL set_palm_origin(cfg, longitude, latitude, origin_lon, origin_lat, z0) 600 568 p0 = cfg%p0 601 569 … … 3980 3948 CASE DEFAULT 3981 3949 message = "Invalid averaging period '" // TRIM(str(dt)) // " hours" 3950 message = "Invalid averaging period '" // TRIM(str(dt)) // " hours" 3982 3951 CALL inifor_abort('preprocess', message) 3983 3952 -
palm/trunk/UTIL/inifor/src/inifor_io.f90
r4523 r4538 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Make setting the vertical PALM origin mandatory 29 ! 30 ! 31 ! 4523 2020-05-07 15:58:16Z eckhard 28 32 ! respect integer working precision (iwp) specified in inifor_defs.f90 29 33 ! … … 139 143 NC_DEPTH_NAME, NC_HHL_NAME, NC_RLAT_NAME, NC_RLON_NAME, & 140 144 NC_ROTATED_POLE_NAME, NC_POLE_LATITUDE_NAME, & 141 NC_POLE_LONGITUDE_NAME, RHO_L, iwp, wp 145 NC_POLE_LONGITUDE_NAME, RHO_L, iwp, wp, & 146 PIDS_ORIGIN_LON, PIDS_ORIGIN_LAT, PIDS_ORIGIN_Z 142 147 USE inifor_types 143 148 USE inifor_util, & … … 431 436 cfg%soil_prefix_is_set = .FALSE. 432 437 cfg%soilmoisture_prefix_is_set = .FALSE. 438 cfg%static_driver_is_set = .FALSE. 433 439 cfg%ug_defined_by_user = .FALSE. 434 440 cfg%vg_defined_by_user = .FALSE. … … 503 509 504 510 CASE( '-static', '-t', '--static-driver' ) 511 cfg%static_driver_is_set = .TRUE. 505 512 CALL get_option_argument( i, arg ) 506 513 cfg%static_driver_file = TRIM(arg) … … 762 769 message = "You specified only one component of the geostrophic " // & 763 770 "wind. Please specify either both or none." 771 CALL inifor_abort( 'validate_config', message ) 772 ENDIF 773 774 IF ( .NOT. cfg%static_driver_is_set .AND. .NOT. cfg%z0_is_set ) THEN 775 message = & 776 "The vertical origin of the PALM grid has not been defined. " // NEW_LINE(" ") // & 777 "Please specify the right value for your setup by either " // NEW_LINE(" ") // & 778 " - using the command-line option --elevation <height above sea level>, or by" // NEW_LINE(" ") // & 779 " - specifying a static driver file using --static <filename> in order to use " // NEW_LINE(" ") // & 780 " use the value of origin_z (and origin_lon and origin_lat) specifed therein." 764 781 CALL inifor_abort( 'validate_config', message ) 765 782 ENDIF … … 1512 1529 END SUBROUTINE check 1513 1530 1531 1532 !------------------------------------------------------------------------------! 1533 ! Description: 1534 ! ------------ 1535 !> Setup the origin of the PALM coordinate system based on what is given in the 1536 !> INIFOR namelist file and via an optional static driver. 1537 !------------------------------------------------------------------------------! 1538 SUBROUTINE set_palm_origin( cfg, namelist_longitude, namelist_latitude, & 1539 origin_lon, origin_lat, z0 ) 1540 1541 TYPE(inifor_config), INTENT(IN) :: cfg 1542 REAL(wp), INTENT(IN) :: namelist_longitude, namelist_latitude 1543 REAL(wp), INTENT(OUT) :: origin_lon, origin_lat, z0 1544 1545 message = 'Reading PALM-4U origin from' 1546 IF ( TRIM( cfg%static_driver_file ) .NE. '' ) THEN 1547 1548 origin_lon = get_netcdf_attribute( cfg%static_driver_file, TRIM( PIDS_ORIGIN_LON ) ) 1549 origin_lat = get_netcdf_attribute( cfg%static_driver_file, TRIM( PIDS_ORIGIN_LAT ) ) 1550 z0 = get_netcdf_attribute( cfg%static_driver_file, TRIM( PIDS_ORIGIN_Z ) ) 1551 1552 message = TRIM(message) // " static driver file '" & 1553 // TRIM( cfg%static_driver_file ) // "'" 1554 1555 1556 ELSE 1557 1558 origin_lon = namelist_longitude 1559 origin_lat = namelist_latitude 1560 1561 message = TRIM( message ) // " namlist file '" & 1562 // TRIM( cfg%namelist_file ) // "'" 1563 1564 ENDIF 1565 origin_lon = origin_lon * TO_RADIANS 1566 origin_lat = origin_lat * TO_RADIANS 1567 1568 CALL report('set_palm_origin', message) 1569 1570 IF ( cfg%z0_is_set ) THEN 1571 z0 = cfg%z0 1572 IF ( TRIM( cfg%static_driver_file ) .NE. '' ) THEN 1573 message = 'You specified both --static-driver/-t and --elevation/-z0. ' // & 1574 'Using the command line value (' // TRIM( real_to_str_f( cfg%z0 ) ) // & 1575 ') instead of static driver value (' // TRIM( real_to_str_f( z0 ) ) // ').' 1576 CALL warn( 'set_palm_origin', message ) 1577 ENDIF 1578 ENDIF 1579 1580 END SUBROUTINE set_palm_origin 1581 1514 1582 END MODULE inifor_io 1515 1583 #endif -
palm/trunk/UTIL/inifor/src/inifor_types.f90
r4523 r4538 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Added boolean indicator for --static-driver option invocation 29 ! 30 ! 31 ! 4523 2020-05-07 15:58:16Z eckhard 28 32 ! respect integer working precision (iwp) specified in inifor_defs.f90 29 33 ! … … 131 135 LOGICAL :: soil_prefix_is_set !< indicates whether the soil prefix was set manually 132 136 LOGICAL :: soilmoisture_prefix_is_set !< indicates whether the soilmoisture prefix was set manually 137 LOGICAL :: static_driver_is_set !< indicates whether a static driver was given 133 138 LOGICAL :: ug_defined_by_user !< indicates whether ug was set manually 134 139 LOGICAL :: vg_defined_by_user !< indicates whether vg was set manually
Note: See TracChangeset
for help on using the changeset viewer.