Changeset 3833 for palm/trunk/SOURCE/virtual_measurement_mod.f90
- Timestamp:
- Mar 28, 2019 3:04:04 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/virtual_measurement_mod.f90
r3766 r3833 25 25 ! ----------------- 26 26 ! $Id$ 27 ! renamed nvar to nmeas, replaced USE chem_modules by USE chem_gasphase_mod and nspec by nvar 28 ! 29 ! 3766 2019-02-26 16:23:41Z raasch 27 30 ! unused variables removed 28 31 ! … … 76 79 ONLY: q, pt, u, v, w, zu, zw 77 80 78 USE chem_ modules,&79 ONLY: n spec81 USE chem_gasphase_mod, & 82 ONLY: nvar 80 83 81 84 USE chemistry_model_mod, & … … 132 135 INTEGER(iwp) :: ns_tot = 0 !< total number of observation coordinates, for atmospheric measurements 133 136 INTEGER(iwp) :: ntraj !< number of trajectories of a measurement 134 INTEGER(iwp) :: n var!< number of measured variables (atmosphere + soil)137 INTEGER(iwp) :: nmeas !< number of measured variables (atmosphere + soil) 135 138 136 139 INTEGER(iwp) :: ns_soil = 0 !< number of observation coordinates on subdomain, for soil measurements … … 551 554 !-- for a NULL to get the correct character length in order to compare 552 555 !-- them with the list of allowed variables. 553 vmea(l)%n var= 0556 vmea(l)%nmeas = 0 554 557 DO ll = 1, SIZE( measured_variables_file ) 555 558 IF ( measured_variables_file(ll)(1:1) /= CHAR(0) .AND. & … … 569 572 IF ( measured_variables_file(ll)(1:len_char) == & 570 573 TRIM( list_allowed_variables(lll) ) ) THEN 571 vmea(l)%n var = vmea(l)%nvar+ 1572 measured_variables(vmea(l)%n var) =&574 vmea(l)%nmeas = vmea(l)%nmeas + 1 575 measured_variables(vmea(l)%nmeas) = & 573 576 measured_variables_file(ll)(1:len_char) 574 577 ENDIF … … 578 581 ! 579 582 !-- Allocate array for the measured variables names for the respective site. 580 ALLOCATE( vmea(l)%measured_vars_name(1:vmea(l)%n var) )581 582 DO ll = 1, vmea(l)%n var583 ALLOCATE( vmea(l)%measured_vars_name(1:vmea(l)%nmeas) ) 584 585 DO ll = 1, vmea(l)%nmeas 583 586 vmea(l)%measured_vars_name(ll) = TRIM( measured_variables(ll) ) 584 587 ENDDO … … 587 590 !-- chemistry mechanism. 588 591 ! IF ( air_chemistry ) THEN 589 ! DO ll = 1, vmea(l)%n var592 ! DO ll = 1, vmea(l)%nmeas 590 593 ! chem_include = .FALSE. 591 ! DO n = 1, n spec594 ! DO n = 1, nvar 592 595 ! IF ( TRIM( vmea(l)%measured_vars_name(ll) ) == & 593 596 ! TRIM( chem_species(n)%name ) ) chem_include = .TRUE. … … 609 612 !-- as this would exceed memory requirements, particularly for trajectory 610 613 !-- measurements. 611 IF ( vmea(l)%n var> 0 ) THEN614 IF ( vmea(l)%nmeas > 0 ) THEN 612 615 ! 613 616 !-- For stationary measurements UTM coordinates are just one value and … … 855 858 ! 856 859 !-- Allocate array to save the sampled values. 857 ALLOCATE( vmea(l)%measured_vars(1:vmea(l)%ns,1:vmea(l)%n var) )860 ALLOCATE( vmea(l)%measured_vars(1:vmea(l)%ns,1:vmea(l)%nmeas) ) 858 861 859 862 IF ( vmea(l)%soil_sampling ) & 860 863 ALLOCATE( vmea(l)%measured_vars_soil(1:vmea(l)%ns_soil, & 861 1:vmea(l)%n var) )864 1:vmea(l)%nmeas) ) 862 865 ! 863 866 !-- Initialize with _FillValues 864 vmea(l)%measured_vars(1:vmea(l)%ns,1:vmea(l)%n var) = vmea(l)%fillout867 vmea(l)%measured_vars(1:vmea(l)%ns,1:vmea(l)%nmeas) = vmea(l)%fillout 865 868 IF ( vmea(l)%soil_sampling ) & 866 vmea(l)%measured_vars_soil(1:vmea(l)%ns_soil,1:vmea(l)%n var) =&869 vmea(l)%measured_vars_soil(1:vmea(l)%ns_soil,1:vmea(l)%nmeas) = & 867 870 vmea(l)%fillout 868 871 ! … … 955 958 WRITE ( 27 ) vmea(l)%ns_tot 956 959 WRITE ( 27 ) 'number of measured variables ' 957 WRITE ( 27 ) vmea(l)%n var960 WRITE ( 27 ) vmea(l)%nmeas 958 961 WRITE ( 27 ) 'variables ' 959 962 WRITE ( 27 ) vmea(l)%measured_vars_name(:) … … 1013 1016 !-- Skip binary writing if no observation points are defined on PE 1014 1017 IF ( vmea(l)%ns < 1 .AND. vmea(l)%ns_soil < 1) CYCLE 1015 DO n = 1, vmea(l)%n var1018 DO n = 1, vmea(l)%nmeas 1016 1019 WRITE( 27 ) vmea(l)%measured_vars_name(n) 1017 1020 IF ( vmea(l)%soil_sampling .AND. & … … 1106 1109 ! 1107 1110 !-- Loop over all variables measured at this site. 1108 DO n = 1, vmea(l)%n var1111 DO n = 1, vmea(l)%nmeas 1109 1112 1110 1113 SELECT CASE ( TRIM( vmea(l)%measured_vars_name(n) ) ) … … 1263 1266 !-- Run loop over all chemical species, if the measured 1264 1267 !-- variable matches the interal name, sample the variable. 1265 DO nn = 1, n spec1268 DO nn = 1, nvar 1266 1269 IF ( TRIM( chem_vars(1,ind_chem) ) == & 1267 1270 TRIM( chem_species(nn)%name ) ) THEN
Note: See TracChangeset
for help on using the changeset viewer.