Changeset 4641 for palm/trunk
- Timestamp:
- Aug 13, 2020 9:57:07 AM (4 years ago)
- Location:
- palm/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/.csd.config.default
r4481 r4641 20 20 # Current revisions: 21 21 # ----------------- 22 # 23 # 22 # 23 # 24 24 # Former revisions: 25 25 # ----------------- 26 26 # $Id$ 27 # Change default values for some global attributes to be compatible with 28 # (UC)2 data standard 29 # 30 # 4481 2020-03-31 18:55:54Z maronga 27 31 # Updated configuration 28 32 # … … 42 46 acronym = LUHimuk 43 47 comment = created with palm_csd 44 data_content = text45 dependencies = text46 keywords = text47 source = text48 campaign = text49 location = B erlin48 data_content = 49 dependencies = 50 keywords = 51 source = 52 campaign = 53 location = B 50 54 site = Berlin Mitte 51 institution = Institute of Meteorology and Climatology, Leibniz University Hannover55 institution = Leibniz University Hannover, Institute of Meterology and Climatology 52 56 palm_version = 6.0 53 57 rotation_angle = 0.0 54 references = text58 references = 55 59 56 60 -
palm/trunk/SCRIPTS/.cvd.config.default
r4400 r4641 21 21 # Current revisions: 22 22 # ----------------- 23 # 24 # 23 # 24 # 25 25 # Former revisions: 26 26 # ----------------- 27 27 # $Id$ 28 # Change default values for some global attributes to be compatible with 29 # (UC)2 data standard 30 # 31 # 4400 2020-02-10 20:32:41Z suehring 28 32 # Initial revision 29 33 # … … 47 51 contact_person = Suehring, Matthias, suehring@muk.uni-hannover.de 48 52 acronym = LUHimuk 49 comment = created with palm_cvd53 comment = 50 54 data_content = measurement coordinates 51 dependencies = none55 dependencies = 52 56 keywords = virtual measurement setup file 53 source = none57 source = 54 58 campaign = winter iop 1 55 location = B erlin59 location = B 56 60 site = Ernst Reuter Platz 57 institution = Institute of Meteorology and Climatology, Leibniz University Hannover61 institution = Leibniz UniversitÀt Hannover, Institute of Meterology and Climatology # for (UC)2 conform in/output please follow guidelines in table A3 58 62 palm_version = 6.0 59 references = none63 references = 60 64 61 65 # Section for observational input data. If non observational input data is available -
palm/trunk/SCRIPTS/palm_csd_files/palm_csd_netcdf_interface.py
r4481 r4641 20 20 # Current revisions: 21 21 # ----------------- 22 # 23 # 22 # 23 # 24 24 # Former revisions: 25 25 # ----------------- 26 26 # $Id: palm_csd_netcdf_interface.py 3668 2019-01-14 12:49:24Z maronga $ 27 # Correct wrong false_easting attribute in crs variable 28 # 29 # 3668 2019-01-14 12:49:24Z maronga 27 30 # Some improvements and new routines 28 31 # … … 334 337 temp.scale_factor_at_central_meridian = 0.9996 335 338 temp.latitude_of_projection_origin = 0.0 336 temp.false_easting = 50000 .0339 temp.false_easting = 500000.0 337 340 temp.false_northing = 0.0 338 341 temp.units = "m" -
palm/trunk/SOURCE/netcdf_data_input_mod.f90
r4507 r4641 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 23 ! 22 ! 23 ! 24 24 ! Former revisions: 25 25 ! ----------------- 26 26 ! $Id$ 27 ! To follow (UC)2 standard, change default of attribute data_content 28 ! 29 ! 4507 2020-04-22 18:21:45Z gronemeier 27 30 ! - bugfix: check terrain height for fill values directly after reading 28 31 ! - changes: … … 520 523 !-- attribute. 521 524 TYPE global_atts_type 522 CHARACTER(LEN=200) :: acronym = ' ' !< acronym of institution523 CHARACTER(LEN=7) :: acronym_char = 'acronym' !< name of attribute524 CHARACTER(LEN=200) :: author = ' ' !< first name, last name, email adress525 CHARACTER(LEN=6) :: author_char = 'author' !< name of attribute526 CHARACTER(LEN=200) :: campaign = 'PALM-4U' !< name of campaign527 CHARACTER(LEN=8) :: campaign_char = 'campaign' !< name of attribute528 CHARACTER(LEN=200) :: comment = ' ' !< comment to data529 CHARACTER(LEN=7) :: comment_char = 'comment' !< name of attribute530 CHARACTER(LEN=200) :: contact_person = ' ' !< first name, last name, email adress525 CHARACTER(LEN=200) :: acronym = ' ' !< acronym of institution 526 CHARACTER(LEN=7) :: acronym_char = 'acronym' !< name of attribute 527 CHARACTER(LEN=200) :: author = ' ' !< first name, last name, email adress 528 CHARACTER(LEN=6) :: author_char = 'author' !< name of attribute 529 CHARACTER(LEN=200) :: campaign = 'PALM-4U' !< name of campaign 530 CHARACTER(LEN=8) :: campaign_char = 'campaign' !< name of attribute 531 CHARACTER(LEN=200) :: comment = ' ' !< comment to data 532 CHARACTER(LEN=7) :: comment_char = 'comment' !< name of attribute 533 CHARACTER(LEN=200) :: contact_person = ' ' !< first name, last name, email adress 531 534 CHARACTER(LEN=14) :: contact_person_char = 'contact_person' !< name of attribute 532 CHARACTER(LEN=200) :: conventions = 'CF-1.7' !< netCDF convention533 CHARACTER(LEN=11) :: conventions_char = 'Conventions' !< name of attribute534 CHARACTER(LEN=23 ) :: creation_time = ' ' !< creation time of data set535 CHARACTER(LEN=13) :: creation_time_char = 'creation_time' !< name of attribute536 CHARACTER(LEN=200) :: data_content = ' '!< content of data set537 CHARACTER(LEN=12) :: data_content_char = 'data_content' !< name of attribute538 CHARACTER(LEN=200) :: dependencies = ' ' !< dependencies of data set539 CHARACTER(LEN=12) :: dependencies_char = 'dependencies' !< name of attribute540 CHARACTER(LEN=200) :: history = ' ' !< information about data processing541 CHARACTER(LEN=7) :: history_char = 'history' !< name of attribute542 CHARACTER(LEN=200) :: institution = ' ' !< name of responsible institution543 CHARACTER(LEN=11) :: institution_char = 'institution' !< name of attribute544 CHARACTER(LEN=200) :: keywords = ' ' !< keywords of data set545 CHARACTER(LEN=8) :: keywords_char = 'keywords' !< name of attribute546 CHARACTER(LEN=200) :: licence = ' ' !< licence of data set547 CHARACTER(LEN=7) :: licence_char = 'licence' !< name of attribute548 CHARACTER(LEN=200) :: location = ' ' !< place which refers to data set549 CHARACTER(LEN=8) :: location_char = 'location' !< name of attribute550 CHARACTER(LEN=10) :: origin_lat_char = 'origin_lat' !< name of attribute551 CHARACTER(LEN=10) :: origin_lon_char = 'origin_lon' !< name of attribute552 CHARACTER(LEN=23 ) :: origin_time = '2000-01-01 00:00:00 +00' 553 CHARACTER(LEN=11) :: origin_time_char = 'origin_time' !< name of attribute554 CHARACTER(LEN=8) :: origin_x_char = 'origin_x' !< name of attribute555 CHARACTER(LEN=8) :: origin_y_char = 'origin_y' !< name of attribute556 CHARACTER(LEN=8) :: origin_z_char = 'origin_z' !< name of attribute557 CHARACTER(LEN=12) :: palm_version_char = 'palm_version' !< name of attribute558 CHARACTER(LEN=200) :: references = ' ' !< literature referring to data set559 CHARACTER(LEN=10) :: references_char = 'references' !< name of attribute535 CHARACTER(LEN=200) :: conventions = 'CF-1.7' !< netCDF convention 536 CHARACTER(LEN=11) :: conventions_char = 'Conventions' !< name of attribute 537 CHARACTER(LEN=23 ) :: creation_time = ' ' !< creation time of data set 538 CHARACTER(LEN=13) :: creation_time_char = 'creation_time' !< name of attribute 539 CHARACTER(LEN=200) :: data_content = 'airmeteo' !< content of data set 540 CHARACTER(LEN=12) :: data_content_char = 'data_content' !< name of attribute 541 CHARACTER(LEN=200) :: dependencies = ' ' !< dependencies of data set 542 CHARACTER(LEN=12) :: dependencies_char = 'dependencies' !< name of attribute 543 CHARACTER(LEN=200) :: history = ' ' !< information about data processing 544 CHARACTER(LEN=7) :: history_char = 'history' !< name of attribute 545 CHARACTER(LEN=200) :: institution = ' ' !< name of responsible institution 546 CHARACTER(LEN=11) :: institution_char = 'institution' !< name of attribute 547 CHARACTER(LEN=200) :: keywords = ' ' !< keywords of data set 548 CHARACTER(LEN=8) :: keywords_char = 'keywords' !< name of attribute 549 CHARACTER(LEN=200) :: licence = ' ' !< licence of data set 550 CHARACTER(LEN=7) :: licence_char = 'licence' !< name of attribute 551 CHARACTER(LEN=200) :: location = ' ' !< place which refers to data set 552 CHARACTER(LEN=8) :: location_char = 'location' !< name of attribute 553 CHARACTER(LEN=10) :: origin_lat_char = 'origin_lat' !< name of attribute 554 CHARACTER(LEN=10) :: origin_lon_char = 'origin_lon' !< name of attribute 555 CHARACTER(LEN=23 ) :: origin_time = '2000-01-01 00:00:00 +00' !< reference time 556 CHARACTER(LEN=11) :: origin_time_char = 'origin_time' !< name of attribute 557 CHARACTER(LEN=8) :: origin_x_char = 'origin_x' !< name of attribute 558 CHARACTER(LEN=8) :: origin_y_char = 'origin_y' !< name of attribute 559 CHARACTER(LEN=8) :: origin_z_char = 'origin_z' !< name of attribute 560 CHARACTER(LEN=12) :: palm_version_char = 'palm_version' !< name of attribute 561 CHARACTER(LEN=200) :: references = ' ' !< literature referring to data set 562 CHARACTER(LEN=10) :: references_char = 'references' !< name of attribute 560 563 CHARACTER(LEN=14) :: rotation_angle_char = 'rotation_angle' !< name of attribute 561 CHARACTER(LEN=200) :: site = ' ' !< name of model domain562 CHARACTER(LEN=4) :: site_char = 'site' !< name of attribute563 CHARACTER(LEN=200) :: source = ' ' !< source of data set564 CHARACTER(LEN=6) :: source_char = 'source' !< name of attribute565 CHARACTER(LEN=200) :: title = ' ' !< title of data set566 CHARACTER(LEN=5) :: title_char = 'title' !< name of attribute567 CHARACTER(LEN=7) :: version_char = 'version' !< name of attribute564 CHARACTER(LEN=200) :: site = ' ' !< name of model domain 565 CHARACTER(LEN=4) :: site_char = 'site' !< name of attribute 566 CHARACTER(LEN=200) :: source = ' ' !< source of data set 567 CHARACTER(LEN=6) :: source_char = 'source' !< name of attribute 568 CHARACTER(LEN=200) :: title = ' ' !< title of data set 569 CHARACTER(LEN=5) :: title_char = 'title' !< name of attribute 570 CHARACTER(LEN=7) :: version_char = 'version' !< name of attribute 568 571 569 572 INTEGER(iwp) :: version !< version of data set -
palm/trunk/SOURCE/virtual_measurement_mod.f90
r4536 r4641 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 23 ! 22 ! 23 ! 24 24 ! Former revisions: 25 25 ! ----------------- 26 26 ! $Id$ 27 ! - To be in agreement with (UC)2 data standard do not list the measured variables in attribute 28 ! data_content but simply set 'airmeteo' 29 ! - Bugfix in setting long_name attribute for variable t_va and for global attribute creation_time 30 ! 31 ! 4536 2020-05-17 17:24:13Z raasch 27 32 ! bugfix: preprocessor directive adjusted 28 33 ! … … 542 547 output_variable%units = 'degree_C' 543 548 544 CASE ( 't va' )549 CASE ( 't_va' ) 545 550 output_variable%long_name = 'virtual acoustic temperature' 546 551 output_variable%units = 'K' … … 769 774 output_variable%standard_name = 'mole_fraction_of_nitrogen_dioxide_in_air' 770 775 output_variable%units = 'ppm' !'mol mol-1' 776 777 CASE ( 'ncaa' ) 778 output_variable%long_name = 'number concentration of ambient aerosol particles in air' 779 output_variable%standard_name = 'number_concentration_of_ambient_aerosol_particles_in_air' 780 output_variable%units = 'm-3' !'mol mol-1' 771 781 772 782 CASE ( 'tro3' ) … … 984 994 vmea(l)%var_atts(ll)%name = TRIM( measured_variables(ll) ) 985 995 986 vmea(l)%data_content = TRIM( vmea(l)%data_content ) // " " // &987 TRIM( vmea(l)%var_atts(ll)%name )996 ! vmea(l)%data_content = TRIM( vmea(l)%data_content ) // " " // & 997 ! TRIM( vmea(l)%var_atts(ll)%name ) 988 998 ENDDO 989 999 ! … … 1397 1407 value = input_file_atts%author ) 1398 1408 return_value = dom_def_att( vmea(l)%nc_filename, attribute_name = 'contact_person', & 1399 value = input_file_atts% contact_person)1409 value = input_file_atts%author ) 1400 1410 return_value = dom_def_att( vmea(l)%nc_filename, attribute_name = 'iop', & 1401 1411 value = input_file_atts%campaign ) … … 1424 1434 value = input_file_atts%creation_time ) 1425 1435 return_value = dom_def_att( vmea(l)%nc_filename, attribute_name = 'version', value = 1 ) !input_file_atts%version 1426 return_value = dom_def_att( vmea(l)%nc_filename, attribute_name = 'creation_time', &1427 value = TRIM( vmea(l)%site ) )1428 1436 return_value = dom_def_att( vmea(l)%nc_filename, attribute_name = 'Conventions', & 1429 1437 value = input_file_atts%conventions ) … … 1932 1940 INTEGER(iwp) :: t_ind !< time index 1933 1941 1942 REAL(wp), DIMENSION(:), ALLOCATABLE :: dum_lat !< transformed geographical coordinate (latitude) 1943 REAL(wp), DIMENSION(:), ALLOCATABLE :: dum_lon !< transformed geographical coordinate (longitude) 1934 1944 REAL(wp), DIMENSION(:), ALLOCATABLE :: oro_rel !< relative altitude of model surface 1935 1945 REAL(wp), DIMENSION(:), POINTER :: output_values_1d_pointer !< pointer for 1d output array … … 1977 1987 bounds_start = (/vmea(l)%start_coord_a/), & 1978 1988 bounds_end = (/vmea(l)%end_coord_a /) ) 1989 ! 1990 !-- Output of longitude and latitude coordinate. Before output, convert it. 1991 ALLOCATE( dum_lat(1:vmea(l)%ns) ) 1992 ALLOCATE( dum_lon(1:vmea(l)%ns) ) 1993 1994 DO n = 1, vmea(l)%ns 1995 CALL convert_utm_to_geographic( crs_list, & 1996 init_model%origin_x & 1997 + REAL( vmea(l)%i(n) + 0.5_wp, KIND = wp ) * dx & 1998 * COS( init_model%rotation_angle * pi / 180.0_wp ) & 1999 + REAL( vmea(l)%j(n) + 0.5_wp, KIND = wp ) * dy & 2000 * SIN( init_model%rotation_angle * pi / 180.0_wp ), & 2001 init_model%origin_y & 2002 - REAL( vmea(l)%i(n) + 0.5_wp, KIND = wp ) * dx & 2003 * SIN( init_model%rotation_angle * pi / 180.0_wp ) & 2004 + REAL( vmea(l)%j(n) + 0.5_wp, KIND = wp ) * dy & 2005 * COS( init_model%rotation_angle * pi / 180.0_wp ), & 2006 dum_lon(n), dum_lat(n) ) 2007 ENDDO 2008 2009 output_values_1d_target = dum_lat 2010 output_values_1d_pointer => output_values_1d_target 2011 return_value = dom_write_var( vmea(l)%nc_filename, 'lat', & 2012 values_realwp_1d = output_values_1d_pointer, & 2013 bounds_start = (/vmea(l)%start_coord_a/), & 2014 bounds_end = (/vmea(l)%end_coord_a /) ) 2015 2016 output_values_1d_target = dum_lon 2017 output_values_1d_pointer => output_values_1d_target 2018 return_value = dom_write_var( vmea(l)%nc_filename, 'lon', & 2019 values_realwp_1d = output_values_1d_pointer, & 2020 bounds_start = (/vmea(l)%start_coord_a/), & 2021 bounds_end = (/vmea(l)%end_coord_a /) ) 2022 DEALLOCATE( dum_lat ) 2023 DEALLOCATE( dum_lon ) 1979 2024 ! 1980 2025 !-- Output of relative height coordinate. … … 2046 2091 !-- Output of Northing coordinate. Before output, recalculate NUTM. 2047 2092 output_values_1d_target = init_model%origin_y & 2048 - REAL( vmea(l)%i (1:vmea(l)%ns_soil) + 0.5_wp, KIND = wp ) * dx&2093 - REAL( vmea(l)%i_soil(1:vmea(l)%ns_soil) + 0.5_wp, KIND = wp ) * dx & 2049 2094 * SIN( init_model%rotation_angle * pi / 180.0_wp ) & 2050 + REAL( vmea(l)%j (1:vmea(l)%ns_soil) + 0.5_wp, KIND = wp ) * dy&2095 + REAL( vmea(l)%j_soil(1:vmea(l)%ns_soil) + 0.5_wp, KIND = wp ) * dy & 2051 2096 * COS( init_model%rotation_angle * pi / 180.0_wp ) 2052 2097 … … 2056 2101 bounds_start = (/vmea(l)%start_coord_s/), & 2057 2102 bounds_end = (/vmea(l)%end_coord_s /) ) 2103 ! 2104 !-- Output of longitude and latitude coordinate. Before output, convert it. 2105 ALLOCATE( dum_lat(1:vmea(l)%ns_soil) ) 2106 ALLOCATE( dum_lon(1:vmea(l)%ns_soil) ) 2107 2108 DO n = 1, vmea(l)%ns_soil 2109 CALL convert_utm_to_geographic( crs_list, & 2110 init_model%origin_x & 2111 + REAL( vmea(l)%i_soil(n) + 0.5_wp, KIND = wp ) * dx & 2112 * COS( init_model%rotation_angle * pi / 180.0_wp ) & 2113 + REAL( vmea(l)%j_soil(n) + 0.5_wp, KIND = wp ) * dy & 2114 * SIN( init_model%rotation_angle * pi / 180.0_wp ), & 2115 init_model%origin_y & 2116 - REAL( vmea(l)%i_soil(n) + 0.5_wp, KIND = wp ) * dx & 2117 * SIN( init_model%rotation_angle * pi / 180.0_wp ) & 2118 + REAL( vmea(l)%j_soil(n) + 0.5_wp, KIND = wp ) * dy & 2119 * COS( init_model%rotation_angle * pi / 180.0_wp ), & 2120 dum_lon(n), dum_lat(n) ) 2121 ENDDO 2122 2123 output_values_1d_target = dum_lat 2124 output_values_1d_pointer => output_values_1d_target 2125 return_value = dom_write_var( vmea(l)%nc_filename, 'lat_soil', & 2126 values_realwp_1d = output_values_1d_pointer, & 2127 bounds_start = (/vmea(l)%start_coord_s/), & 2128 bounds_end = (/vmea(l)%end_coord_s /) ) 2129 2130 output_values_1d_target = dum_lon 2131 output_values_1d_pointer => output_values_1d_target 2132 return_value = dom_write_var( vmea(l)%nc_filename, 'lon_soil', & 2133 values_realwp_1d = output_values_1d_pointer, & 2134 bounds_start = (/vmea(l)%start_coord_s/), & 2135 bounds_end = (/vmea(l)%end_coord_s /) ) 2136 DEALLOCATE( dum_lat ) 2137 DEALLOCATE( dum_lon ) 2058 2138 ! 2059 2139 !-- Output of relative height coordinate. … … 2856 2936 ! 2857 2937 !-- More will follow ... 2858 2938 CASE ( 'ncaa' ) 2859 2939 ! 2860 2940 !-- No match found - just set a fill value
Note: See TracChangeset
for help on using the changeset viewer.