- Timestamp:
- 2022-03-21T13:12:29+01:00 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/r6232_obs_oper_update/NEMOGCM/NEMO/OPA_SRC/OBS/obs_read_prof.F90
r11203 r15764 46 46 & kvars, kextr, kstp, ddobsini, ddobsend, & 47 47 & ldvar, ldignmis, ldsatt, & 48 & ldmod, kdailyavtypes )48 & ldmod, ldclim, cdvars, kdailyavtypes ) 49 49 !!--------------------------------------------------------------------- 50 50 !! … … 78 78 LOGICAL, INTENT(IN) :: ldsatt ! Compute salinity at all temperature points 79 79 LOGICAL, INTENT(IN) :: ldmod ! Initialize model from input data 80 LOGICAL, INTENT(IN) :: ldclim ! Set flag to show climatology will be output 80 81 REAL(dp), INTENT(IN) :: ddobsini ! Obs. ini time in YYYYMMDD.HHMMSS 81 82 REAL(dp), INTENT(IN) :: ddobsend ! Obs. end time in YYYYMMDD.HHMMSS 83 CHARACTER(len=8), DIMENSION(kvars), INTENT(IN) :: cdvars 82 84 INTEGER, DIMENSION(imaxavtypes), OPTIONAL :: & 83 85 & kdailyavtypes ! Types of daily average observations … … 86 88 CHARACTER(LEN=15), PARAMETER :: cpname='obs_rea_prof' 87 89 CHARACTER(len=8) :: clrefdate 88 CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvars 90 CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvarsin 89 91 INTEGER :: jvar 90 92 INTEGER :: ji … … 220 222 ENDIF 221 223 222 IF ( jj == 1 ) THEN 223 ALLOCATE( clvars( inpfiles(jj)%nvar ) ) 224 DO ji = 1, inpfiles(jj)%nvar 225 clvars(ji) = inpfiles(jj)%cname(ji) 226 END DO 224 IF ( jj == 1 ) THEN 225 ALLOCATE( clvarsin( inpfiles(jj)%nvar ) ) 226 DO ji = 1, inpfiles(jj)%nvar 227 clvarsin(ji) = inpfiles(jj)%cname(ji) 228 IF ( clvarsin(ji) /= cdvars(ji) ) THEN 229 CALL ctl_stop( 'Feedback file variables do not match', & 230 & ' expected variable names for this type' ) 231 ENDIF 232 END DO 227 233 ELSE 228 DO ji = 1, inpfiles(jj)%nvar 229 IF ( inpfiles(jj)%cname(ji) /= clvars (ji) ) THEN230 CALL ctl_stop( 'Feedback file variables not consistent', & 231 & ' with previous files for this type' ) 232 ENDIF 233 END DO 234 DO ji = 1, inpfiles(jj)%nvar 235 IF ( inpfiles(jj)%cname(ji) /= clvarsin(ji) ) THEN 236 CALL ctl_stop( 'Feedback file variables not consistent', & 237 & ' with previous files for this type' ) 238 ENDIF 239 END DO 234 240 ENDIF 235 241 … … 500 506 ENDIF 501 507 CALL obs_prof_alloc( profdata, kvars, kextr, iprof, iv3dt, & 502 & kstp, jpi, jpj, jpk )508 & kstp, jpi, jpj, jpk, ldclim ) 503 509 504 510 ! * Read obs/positions, QC, all variable and assign to profdata … … 506 512 profdata%nprof = 0 507 513 profdata%nvprot(:) = 0 508 profdata%cvars(:) = clvars (:)514 profdata%cvars(:) = clvarsin(:) 509 515 iprof = 0 510 516 … … 696 702 profdata%var(jvar)%vmod(ivart(jvar)) = & 697 703 & inpfiles(jj)%padd(ij,ji,1,jvar) 704 ENDIF 705 IF ( profdata%lclim ) THEN 706 profdata%var(jvar)%vclm(ivart(jvar)) = fbrmdi 698 707 ENDIF 699 708 ! Count number of profile var1 data as function of type … … 805 814 ! Deallocate temporary data 806 815 !----------------------------------------------------------------------- 807 DEALLOCATE( ifileidx, iprofidx, zdat, clvars )816 DEALLOCATE( ifileidx, iprofidx, zdat, clvarsin ) 808 817 809 818 !-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.