New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 11259 for branches/UKMO/dev_r5518_obs_oper_update_kd490/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90 – NEMO

Ignore:
Timestamp:
2019-07-11T18:29:19+02:00 (5 years ago)
Author:
dford
Message:

Check variable names are as expected.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_obs_oper_update_kd490/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r11253 r11259  
    230230         & clproffiles, &        ! Profile filenames 
    231231         & clsurffiles           ! Surface filenames 
     232      CHARACTER(len=8), DIMENSION(:), ALLOCATABLE :: clvars  ! Expected variable names 
    232233 
    233234      LOGICAL, DIMENSION(:), ALLOCATABLE :: llvar   ! Logical for profile variable read 
     
    730731               nextrprof(jtype) = 1 
    731732               ALLOCATE(llvar(nvarsprof(jtype))) 
     733               ALLOCATE(clvars(nvarsprof(jtype))) 
    732734               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    733735               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    735737               llvar(1)       = ln_t3d 
    736738               llvar(2)       = ln_s3d 
     739               clvars(1)      = 'POTM' 
     740               clvars(2)      = 'PSAL' 
    737741               zglam(:,:,1)   = glamt(:,:) 
    738742               zglam(:,:,2)   = glamt(:,:) 
     
    745749               nextrprof(jtype) = 2 
    746750               ALLOCATE(llvar(nvarsprof(jtype))) 
     751               ALLOCATE(clvars(nvarsprof(jtype))) 
    747752               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    748753               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    750755               llvar(1)       = ln_vel3d 
    751756               llvar(2)       = ln_vel3d 
     757               clvars(1)      = 'UVEL' 
     758               clvars(2)      = 'VVEL' 
    752759               zglam(:,:,1)   = glamu(:,:) 
    753760               zglam(:,:,2)   = glamv(:,:) 
     
    760767               nextrprof(jtype) = 0 
    761768               ALLOCATE(llvar(nvarsprof(jtype))) 
     769               ALLOCATE(clvars(nvarsprof(jtype))) 
    762770               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    763771               CALL wrk_alloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    767775               zgphi(:,:,1)   = gphit(:,:) 
    768776               zmask(:,:,:,1) = tmask(:,:,:) 
     777               IF ( TRIM(cobstypesprof(jtype)) == 'plchltot' )  THEN 
     778                  clvars(1) = 'PLCHLTOT' 
     779               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pchltot' )  THEN 
     780                  clvars(1) = 'PCHLTOT' 
     781               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pno3' )  THEN 
     782                  clvars(1) = 'PNO3' 
     783               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'psi4' )  THEN 
     784                  clvars(1) = 'PSI4' 
     785               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'ppo4' )  THEN 
     786                  clvars(1) = 'PPO4' 
     787               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pdic' )  THEN 
     788                  clvars(1) = 'PDIC' 
     789               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'palk' )  THEN 
     790                  clvars(1) = 'PALK' 
     791               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'pph' )  THEN 
     792                  clvars(1) = 'PPH' 
     793               ELSE IF ( TRIM(cobstypesprof(jtype)) == 'po2' )  THEN 
     794                  clvars(1) = 'PO2' 
     795               ENDIF 
    769796            ENDIF 
    770797 
     
    774801               &               nvarsprof(jtype), nextrprof(jtype), nitend-nit000+2, & 
    775802               &               rn_dobsini, rn_dobsend, llvar, & 
    776                &               ln_ignmis, ln_s_at_t, .FALSE., & 
     803               &               ln_ignmis, ln_s_at_t, .FALSE., clvars, & 
    777804               &               kdailyavtypes = nn_profdavtypes ) 
    778805 
     
    788815               &               kdailyavtypes = nn_profdavtypes ) 
    789816             
    790             DEALLOCATE( llvar ) 
     817            DEALLOCATE( llvar, clvars ) 
    791818            CALL wrk_dealloc( jpi, jpj,      nvarsprof(jtype), zglam ) 
    792819            CALL wrk_dealloc( jpi, jpj,      nvarsprof(jtype), zgphi ) 
     
    808835         DO jtype = 1, nsurftypes 
    809836 
    810             nvarssurf(jtype) = 1 
    811             nextrsurf(jtype) = 0 
    812             IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) nextrsurf(jtype) = 2 
     837            IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) 
     838               nvarssurf(jtype) = 1 
     839               nextrsurf(jtype) = 2 
     840            ELSE 
     841               nvarssurf(jtype) = 1 
     842               nextrsurf(jtype) = 0 
     843            ENDIF 
     844             
     845            ALLOCATE( clvars( nvarssurf(jtype) ) ) 
     846 
     847            IF ( TRIM(cobstypessurf(jtype)) == 'sla' ) THEN 
     848               clvars(1) = 'SLA' 
     849            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sst' ) THEN 
     850               clvars(1) = 'SST' 
     851            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sic' ) THEN 
     852               clvars(1) = 'ICECONC' 
     853            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sss' ) THEN 
     854               clvars(1) = 'SSS' 
     855            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchltot' ) THEN 
     856               clvars(1) = 'SLCHLTOT' 
     857            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchldia' ) THEN 
     858               clvars(1) = 'SLCHLDIA' 
     859            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlnon' ) THEN 
     860               clvars(1) = 'SLCHLNON' 
     861            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchldin' ) THEN 
     862               clvars(1) = 'SLCHLDIN' 
     863            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlmic' ) THEN 
     864               clvars(1) = 'SLCHLMIC' 
     865            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlnan' ) THEN 
     866               clvars(1) = 'SLCHLNAN' 
     867            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slchlpic' ) THEN 
     868               clvars(1) = 'SLCHLPIC' 
     869            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'schltot' ) THEN 
     870               clvars(1) = 'SCHLTOT' 
     871            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slphytot' ) THEN 
     872               clvars(1) = 'SLPHYTOT' 
     873            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slphydia' ) THEN 
     874               clvars(1) = 'SLPHYDIA' 
     875            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'slphynon' ) THEN 
     876               clvars(1) = 'SLPHYNON' 
     877            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sspm' ) THEN 
     878               clvars(1) = 'SSPM' 
     879            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'skd490' ) THEN 
     880               clvars(1) = 'SKD490' 
     881            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'sfco2' ) THEN 
     882               clvars(1) = 'SFCO2' 
     883            ELSE IF ( TRIM(cobstypessurf(jtype)) == 'spco2' ) THEN 
     884               clvars(1) = 'SPCO2' 
     885            ENDIF 
    813886 
    814887            !Read in surface obs types 
     
    816889               &               clsurffiles(jtype,1:ifilessurf(jtype)), & 
    817890               &               nvarssurf(jtype), nextrsurf(jtype), nitend-nit000+2, & 
    818                &               rn_dobsini, rn_dobsend, ln_ignmis, .FALSE., llnightav(jtype) ) 
     891               &               rn_dobsini, rn_dobsend, ln_ignmis, .FALSE., llnightav(jtype), & 
     892               &               clvars ) 
    819893 
    820894            CALL obs_pre_surf( surfdata(jtype), surfdataqc(jtype), ln_nea, ln_bound_reject ) 
     
    840914 
    841915            ENDIF 
     916             
     917            DEALLOCATE( clvars ) 
    842918 
    843919         END DO 
Note: See TracChangeset for help on using the changeset viewer.