Changeset 3041 for palm/trunk/SOURCE/netcdf_data_input_mod.f90
- Timestamp:
- May 25, 2018 10:39:54 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/netcdf_data_input_mod.f90
r3037 r3041 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 23 ! 22 ! 23 ! 24 24 ! Former revisions: 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Add data type for global file attributes 28 ! Add read of global attributes of static driver 29 ! 30 ! 3037 2018-05-24 10:39:29Z gronemeier 27 31 ! renamed 'depth' to 'zsoil' 28 32 ! … … 220 224 221 225 TYPE init_type 226 227 CHARACTER(LEN=23) :: origin_time !< reference time of input data 222 228 223 229 INTEGER(iwp) :: lod_msoil !< level of detail - soil moisture … … 246 252 LOGICAL :: from_file_w = .FALSE. !< flag indicating whether w is already initialized from file 247 253 248 249 254 REAL(wp) :: fill_msoil !< fill value for soil moisture 250 255 REAL(wp) :: fill_pt !< fill value for pt … … 256 261 REAL(wp) :: latitude !< latitude of the southern model boundary 257 262 REAL(wp) :: longitude !< longitude of the western model boundary 263 REAL(wp) :: origin_x !< x position of the western model boundary 264 REAL(wp) :: origin_y !< y position of the northern model boundary 265 REAL(wp) :: origin_z !< reference height of input data 266 REAL(wp) :: rotation_angle !< rotation angle of input data 258 267 259 268 REAL(wp), DIMENSION(:), ALLOCATABLE :: msoil_init !< initial vertical profile of soil moisture … … 370 379 END TYPE pars 371 380 ! 381 !-- Define type for global file attributes 382 !-- Please refer to the PALM data standard for a detailed description of each 383 !-- attribute. 384 TYPE global_atts_type 385 CHARACTER(LEN=12 ) :: acronym !< acronym of institution 386 CHARACTER(LEN=7) :: acronym_char = 'acronym' !< name of attribute 387 CHARACTER(LEN=200) :: author !< first name, last name, email adress 388 CHARACTER(LEN=6) :: author_char = 'author' !< name of attribute 389 CHARACTER(LEN=12 ) :: campaign !< name of campaign 390 CHARACTER(LEN=8) :: campaign_char = 'campaign' !< name of attribute 391 CHARACTER(LEN=200) :: comment !< comment to data 392 CHARACTER(LEN=7) :: comment_char = 'comment' !< name of attribute 393 CHARACTER(LEN=200) :: contact_person !< first name, last name, email adress 394 CHARACTER(LEN=14) :: contact_person_char = 'contact_person' !< name of attribute 395 CHARACTER(LEN=200) :: conventions = 'CF-1.7' !< netCDF convention 396 CHARACTER(LEN=11) :: conventions_char = 'Conventions' !< name of attribute 397 CHARACTER(LEN=23 ) :: creation_time !< creation time of data set 398 CHARACTER(LEN=13) :: creation_time_char = 'creation_time' !< name of attribute 399 CHARACTER(LEN=16 ) :: data_content !< content of data set 400 CHARACTER(LEN=12) :: data_content_char = 'data_content' !< name of attribute 401 CHARACTER(LEN=200) :: dependencies !< dependencies of data set 402 CHARACTER(LEN=12) :: dependencies_char = 'dependencies' !< name of attribute 403 CHARACTER(LEN=200) :: history !< information about data processing 404 CHARACTER(LEN=7) :: history_char = 'history' !< name of attribute 405 CHARACTER(LEN=200) :: institution !< name of responsible institution 406 CHARACTER(LEN=11) :: institution_char = 'institution' !< name of attribute 407 CHARACTER(LEN=200) :: keywords !< keywords of data set 408 CHARACTER(LEN=8) :: keywords_char = 'keywords' !< name of attribute 409 CHARACTER(LEN=200) :: license !< license of data set 410 CHARACTER(LEN=7) :: license_char = 'license' !< name of attribute 411 CHARACTER(LEN=200) :: location !< place which refers to data set 412 CHARACTER(LEN=8) :: location_char = 'location' !< name of attribute 413 CHARACTER(LEN=10) :: origin_lat_char = 'origin_lat' !< name of attribute 414 CHARACTER(LEN=10) :: origin_lon_char = 'origin_lon' !< name of attribute 415 CHARACTER(LEN=23 ) :: origin_time !< reference time 416 CHARACTER(LEN=11) :: origin_time_char = 'origin_time' !< name of attribute 417 CHARACTER(LEN=8) :: origin_x_char = 'origin_x' !< name of attribute 418 CHARACTER(LEN=8) :: origin_y_char = 'origin_y' !< name of attribute 419 CHARACTER(LEN=8) :: origin_z_char = 'origin_z' !< name of attribute 420 CHARACTER(LEN=12) :: palm_version_char = 'palm_version' !< name of attribute 421 CHARACTER(LEN=200) :: references !< literature referring to data set 422 CHARACTER(LEN=10) :: references_char = 'references' !< name of attribute 423 CHARACTER(LEN=14) :: rotation_angle_char = 'rotation_angle' !< name of attribute 424 CHARACTER(LEN=12 ) :: site !< name of model domain 425 CHARACTER(LEN=4) :: site_char = 'site' !< name of attribute 426 CHARACTER(LEN=200) :: source !< source of data set 427 CHARACTER(LEN=6) :: source_char = 'source' !< name of attribute 428 CHARACTER(LEN=200) :: title !< title of data set 429 CHARACTER(LEN=5) :: title_char = 'title' !< name of attribute 430 CHARACTER(LEN=7) :: version_char = 'version' !< name of attribute 431 432 INTEGER(iwp) :: version !< version of data set 433 434 REAL(wp) :: origin_lat !< latitude of lower left corner 435 REAL(wp) :: origin_lon !< longitude of lower left corner 436 REAL(wp) :: origin_x !< easting (UTM coordinate) of lower left corner 437 REAL(wp) :: origin_y !< northing (UTM coordinate) of lower left corner 438 REAL(wp) :: origin_z !< reference height 439 REAL(wp) :: palm_version !< PALM version of data set 440 REAL(wp) :: rotation_angle !< rotation angle of coordinate system of data set 441 END TYPE global_atts_type 442 ! 372 443 !-- Define variables 373 444 TYPE(dims_xy) :: dim_static !< data structure for x, y-dimension in static input file … … 421 492 CHARACTER(LEN=3) :: char_lod = 'lod' !< name of level-of-detail attribute in NetCDF file 422 493 423 CHARACTER(LEN=10) :: char_fill = '_FillValue' !< name of fill value attribute in NetCDF file 424 CHARACTER(LEN=10) :: char_lon = 'origin_lon' !< name of global attribute for longitude in NetCDF file 425 CHARACTER(LEN=10) :: char_lat = 'origin_lat' !< name of global attribute for latitude in NetCDF file 494 CHARACTER(LEN=10) :: char_fill = '_FillValue' !< name of fill value attribute in NetCDF file 426 495 427 496 CHARACTER(LEN=100) :: input_file_static = 'PIDS_STATIC' !< Name of file which comprises static input data … … 434 503 435 504 LOGICAL :: collective_read = .FALSE. !< Enable NetCDF collective read 505 506 TYPE(global_atts_type) :: input_file_atts !< global attributes of input file 436 507 437 508 SAVE … … 578 649 TRIM( coupling_char ), id_mod ) 579 650 ! 580 !-- Read global attribute for latitude and longitude 581 CALL get_attribute( id_mod, char_lat, & 582 init_model%latitude, .TRUE. ) 583 584 CALL get_attribute( id_mod, char_lon, & 585 init_model%longitude, .TRUE. ) 651 !-- Read global attributes 652 CALL get_attribute( id_mod, input_file_atts%origin_lat_char, & 653 input_file_atts%origin_lat, .TRUE. ) 654 655 CALL get_attribute( id_mod, input_file_atts%origin_lon_char, & 656 input_file_atts%origin_lon, .TRUE. ) 657 658 CALL get_attribute( id_mod, input_file_atts%origin_time_char, & 659 input_file_atts%origin_time, .TRUE. ) 660 661 CALL get_attribute( id_mod, input_file_atts%origin_x_char, & 662 input_file_atts%origin_x, .TRUE. ) 663 664 CALL get_attribute( id_mod, input_file_atts%origin_y_char, & 665 input_file_atts%origin_y, .TRUE. ) 666 667 CALL get_attribute( id_mod, input_file_atts%origin_z_char, & 668 input_file_atts%origin_z, .TRUE. ) 669 670 CALL get_attribute( id_mod, input_file_atts%rotation_angle_char, & 671 input_file_atts%rotation_angle, .TRUE. ) 672 586 673 ! 587 674 !-- Finally, close input file 588 675 CALL close_input_file( id_mod ) 676 ! 677 !-- Copy lon/lat values 678 init_model%latitude = input_file_atts%origin_lat 679 init_model%longitude = input_file_atts%origin_lon 589 680 #endif 590 681 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.