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 15225 for NEMO/branches/UKMO/NEMO_4.0.4_generic_obs/src/OCE/OBS/obs_field.F90 – NEMO

Ignore:
Timestamp:
2021-09-02T17:52:53+02:00 (3 years ago)
Author:
dford
Message:

Improve handling of velocities, including adding surface currents.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_generic_obs/src/OCE/OBS/obs_field.F90

    r15187 r15225  
    3737    
    3838   ! Expected names for observation types with special behaviours (not needed for all observation types) 
    39    CHARACTER(LEN=8) :: cobsname_uvel3d = 'UVEL' ! Expected variable name for 3D zonal currents 
    40    CHARACTER(LEN=8) :: cobsname_vvel3d = 'VVEL' ! Expected variable name for 3D meridional currents 
    41    CHARACTER(LEN=8) :: cobsname_sla    = 'SLA'  ! Expected variable name for SLA 
     39   CHARACTER(LEN=8), PUBLIC :: cobsname_uvel = 'UVEL' ! Expected variable name for U velocity (2D or 3D) 
     40   CHARACTER(LEN=8), PUBLIC :: cobsname_vvel = 'VVEL' ! Expected variable name for V velocity (2D or 3D) 
     41   CHARACTER(LEN=8), PUBLIC :: cobsname_sla  = 'SLA'  ! Expected variable name for SLA 
    4242 
    4343   !! * Type definition for observation groups 
     
    6969      LOGICAL  :: lsurf              !: Logical switch for surface data 
    7070      LOGICAL  :: lprof              !: Logical switch for profile data 
    71       LOGICAL  :: lvel3d             !: Logical switch for 3D velocity data 
     71      LOGICAL  :: lvel               !: Logical switch for velocity data 
    7272      LOGICAL  :: lsla               !: Logical switch for SLA data 
    7373      LOGICAL  :: laltbias           !: Logical switch for altimeter bias correction 
     
    231231         sdobsgroup%navtypes      = 0 
    232232         sdobsgroup%nobsbiasfiles = 0 
    233          sdobsgroup%lvel3d        = .false. 
     233         sdobsgroup%lvel          = .false. 
    234234         sdobsgroup%lsla          = .false. 
    235235         sdobsgroup%nadd_ssh      = 0 
     
    264264               itype = itype + 1 
    265265               sdobsgroup%cobstypes(itype) = TRIM(cn_obstypes(jtype)) 
    266                IF ( (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_uvel3d) .OR. & 
    267                   & (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_vvel3d) ) THEN 
    268                   sdobsgroup%lvel3d = .true. 
     266               IF ( (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_uvel) .OR. & 
     267                  & (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_vvel) ) THEN 
     268                  sdobsgroup%lvel = .true. 
    269269               ELSEIF ( TRIM(sdobsgroup%cobstypes(itype)) == cobsname_sla ) THEN 
    270270                  sdobsgroup%lsla = .true. 
     
    277277               ENDIF 
    278278               ! 
    279                IF (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_uvel3d) THEN 
     279               IF (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_uvel) THEN 
    280280                  sdobsgroup%rglam(:,:,itype)   = glamu(:,:) 
    281281                  sdobsgroup%rgphi(:,:,itype)   = gphiu(:,:) 
    282282                  sdobsgroup%rmask(:,:,:,itype) = umask(:,:,:) 
    283                ELSEIF (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_vvel3d) THEN 
     283               ELSEIF (TRIM(sdobsgroup%cobstypes(itype)) == cobsname_vvel) THEN 
    284284                  sdobsgroup%rglam(:,:,itype)   = glamv(:,:) 
    285285                  sdobsgroup%rgphi(:,:,itype)   = gphiv(:,:) 
Note: See TracChangeset for help on using the changeset viewer.