Changeset 11468 for branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/obs_surf_def.F90
- Timestamp:
- 2019-08-23T10:37:22+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/obs_surf_def.F90
r9308 r11468 52 52 INTEGER :: nrec !: Number of surface observation records in window 53 53 54 LOGICAL :: lclim !: Climatology will be calculated for this structure 55 54 56 ! Arrays with size equal to the number of surface observations 55 57 … … 84 86 REAL(KIND=wp), POINTER, DIMENSION(:,:) :: & 85 87 & robs, & !: Surface observation 86 & rmod !: Model counterpart of the surface observation vector 87 88 & rmod, & !: Model counterpart of the surface observation vector 89 & rclm !: Climatological counterpart of the surface observation vector 90 88 91 REAL(KIND=wp), POINTER, DIMENSION(:,:) :: & 89 92 & rext !: Extra fields interpolated to observation points … … 124 127 CONTAINS 125 128 126 SUBROUTINE obs_surf_alloc( surf, ksurf, kvar, kextra, kstp, kpi, kpj )129 SUBROUTINE obs_surf_alloc( surf, ksurf, kvar, kextra, kstp, kpi, kpj, ldclim ) 127 130 !!---------------------------------------------------------------------- 128 131 !! *** ROUTINE obs_surf_alloc *** … … 143 146 INTEGER, INTENT(IN) :: kpi ! Number of 3D grid points 144 147 INTEGER, INTENT(IN) :: kpj 148 LOGICAL, INTENT(IN) :: ldclim 145 149 146 150 !!* Local variables … … 157 161 surf%npi = kpi 158 162 surf%npj = kpj 163 surf%lclim = ldclim 159 164 160 165 ! Allocate arrays of size number of variables … … 197 202 ALLOCATE( & 198 203 & surf%robs(ksurf,kvar), & 199 & surf%rmod(ksurf,kvar) 204 & surf%rmod(ksurf,kvar) & 200 205 & ) 201 206 207 IF (surf%lclim) ALLOCATE( surf%rclm(ksurf,kvar) ) 208 202 209 ! Allocate arrays of number of extra fields at observation points 203 210 … … 293 300 & ) 294 301 302 IF (surf%lclim) DEALLOCATE( surf%rclm ) 295 303 ! Deallocate arrays of number of extra fields at observation points 296 304 … … 371 379 IF ( lallocate ) THEN 372 380 CALL obs_surf_alloc( newsurf, insurf, surf%nvar, & 373 & surf%nextra, surf%nstp, surf%npi, surf%npj )381 & surf%nextra, surf%nstp, surf%npi, surf%npj, surf%lclim ) 374 382 ENDIF 375 383 … … 418 426 newsurf%robs(insurf,jk) = surf%robs(ji,jk) 419 427 newsurf%rmod(insurf,jk) = surf%rmod(ji,jk) 428 IF (newsurf%lclim) newsurf%rclm(insurf,jk) = surf%rclm(ji,jk) 420 429 421 430 END DO … … 514 523 oldsurf%robs(jj,jk) = surf%robs(ji,jk) 515 524 oldsurf%rmod(jj,jk) = surf%rmod(ji,jk) 525 IF (surf%lclim) oldsurf%rclm(jj,jk) = surf%rclm(ji,jk) 516 526 517 527 END DO
Note: See TracChangeset
for help on using the changeset viewer.