Ignore:
Timestamp:
2017-04-18T10:24:44+02:00 (3 years ago)
Author:
jwhile
Message:

Added code for 'Do not assimilate flags'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/obs_oper_do_not_assim_update/NEMOGCM/NEMO/OPA_SRC/OBS/obs_write.F90

    r7837 r7915  
    196196         fbdata%ivqc(jo,:)    = profdata%ivqc(jo,:) 
    197197         fbdata%ivqcf(:,jo,:) = profdata%ivqcf(:,jo,:) 
    198          IF ( profdata%nqc(jo) > 10 ) THEN 
    199             fbdata%ioqc(jo)    = 4 
     198         IF ( profdata%nqc(jo) > 255 ) THEN 
     199            fbdata%ioqc(jo)    = IBSET(profdata%nqc(jo),2) 
    200200            fbdata%ioqcf(1,jo) = profdata%nqcf(1,jo) 
    201             fbdata%ioqcf(2,jo) = profdata%nqc(jo) - 10 
     201            fbdata%ioqcf(2,jo) = profdata%nqc(jo) 
    202202         ELSE 
    203203            fbdata%ioqc(jo)    = profdata%nqc(jo) 
     
    236236               fbdata%idqc(ik,jo)        = profdata%var(jvar)%idqc(jk) 
    237237               fbdata%idqcf(:,ik,jo)     = profdata%var(jvar)%idqcf(:,jk) 
    238                IF ( profdata%var(jvar)%nvqc(jk) > 10 ) THEN 
    239                   fbdata%ivlqc(ik,jo,jvar) = 4 
     238               IF ( profdata%var(jvar)%nvqc(jk) > 255 ) THEN 
     239                  fbdata%ivlqc(ik,jo,jvar) = IBSET(profdata%var(jvar)%nvqc(jk),2) 
    240240                  fbdata%ivlqcf(1,ik,jo,jvar) = profdata%var(jvar)%nvqcf(1,jk) 
    241                   fbdata%ivlqcf(2,ik,jo,jvar) = profdata%var(jvar)%nvqc(jk) - 10 
     241                  fbdata%ivlqcf(2,ik,jo,jvar) = IAND(profdata%var(jvar)%nvqc(jk),b'0000 0000 1111 1111') 
    242242               ELSE 
    243243                  fbdata%ivlqc(ik,jo,jvar) = profdata%var(jvar)%nvqc(jk) 
     
    558558         fbdata%ivqc(jo,:)    = 0 
    559559         fbdata%ivqcf(:,jo,:) = 0 
    560          IF ( surfdata%nqc(jo) > 10 ) THEN 
     560         IF ( surfdata%nqc(jo) > 255 ) THEN 
    561561            fbdata%ioqc(jo)    = 4 
    562562            fbdata%ioqcf(1,jo) = 0 
    563             fbdata%ioqcf(2,jo) = surfdata%nqc(jo) - 10 
     563            fbdata%ioqcf(2,jo) = IAND(surfdata%nqc(jo),b'0000 0000 1111 1111') 
    564564         ELSE 
    565565            fbdata%ioqc(jo)    = surfdata%nqc(jo) 
     
    593593         fbdata%idqc(1,jo)     = 0 
    594594         fbdata%idqcf(:,1,jo)  = 0 
    595          IF ( surfdata%nqc(jo) > 10 ) THEN 
     595         IF ( surfdata%nqc(jo) > 255 ) THEN 
    596596            fbdata%ivqc(jo,1)       = 4 
    597597            fbdata%ivlqc(1,jo,1)    = 4 
    598598            fbdata%ivlqcf(1,1,jo,1) = 0 
    599             fbdata%ivlqcf(2,1,jo,1) = surfdata%nqc(jo) - 10 
     599            fbdata%ivlqcf(2,1,jo,1) = IAND(surfdata%nqc(jo),b'0000 0000 1111 1111') 
    600600         ELSE 
    601601            fbdata%ivqc(jo,1)       = surfdata%nqc(jo) 
Note: See TracChangeset for help on using the changeset viewer.