Changeset 5035


Ignore:
Timestamp:
2015-01-16T10:53:11+01:00 (6 years ago)
Author:
jamesharle
Message:

Update to reading in thickness variables in BDY read for bt velocity
adjustment when using interpolation on the fly.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4621_NOC4_BDY_VERT_INTERP/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90

    r4792 r5035  
    753753         CALL iom_get ( num, jpdom_unknown, clvar, dta_read(1:ilendta,1:ipj,1:jpk_bdy), nrec ) 
    754754         SELECT CASE( igrd )                   
    755             CASE(1); CALL iom_get ( num, jpdom_unknown, 'gdept', dta_read_z(1:ilendta,1:ipj,1:jpk_bdy) ) 
    756             CASE(2); CALL iom_get ( num, jpdom_unknown, 'gdepu', dta_read_z(1:ilendta,1:ipj,1:jpk_bdy) ) 
    757             CASE(3); CALL iom_get ( num, jpdom_unknown, 'gdepv', dta_read_z(1:ilendta,1:ipj,1:jpk_bdy) ) 
     755            CASE(1) 
     756               CALL iom_get ( num, jpdom_unknown, 'gdept', dta_read_z(1:ilendta,1:ipj,1:jpk_bdy) ) 
     757               CALL iom_get ( num, jpdom_unknown, 'e3t', dta_read_dz(1:ilendta,1:ipj,1:jpk_bdy) ) 
     758            CASE(2)   
     759               CALL iom_get ( num, jpdom_unknown, 'gdepu', dta_read_z(1:ilendta,1:ipj,1:jpk_bdy) ) 
     760               CALL iom_get ( num, jpdom_unknown, 'e3u', dta_read_dz(1:ilendta,1:ipj,1:jpk_bdy) ) 
     761            CASE(3) 
     762               CALL iom_get ( num, jpdom_unknown, 'gdepv', dta_read_z(1:ilendta,1:ipj,1:jpk_bdy) ) 
     763               CALL iom_get ( num, jpdom_unknown, 'e3v', dta_read_dz(1:ilendta,1:ipj,1:jpk_bdy) ) 
    758764         END SELECT 
    759765         CALL iom_getatt(num, '_FillValue', fv, cdvar=clvar ) 
     
    822828      IF (ipj==1) THEN ! we assume that this is an un-structured open boundary file 
    823829         DO ib = 1, ipi 
    824             DO ik = 1, ipk                       
     830            DO ik = 1, jpk_bdy 
    825831               IF( ( dta_read(map(ib),1,ik) == fv ) ) THEN 
    826832                  dta_read_z(map(ib),1,ik) = fv_alt ! safety: put fillvalue into external depth field so consistent with data 
    827                ENDIF 
    828                   dta(ib,1,ik) = fv_alt    ! put fillvalue into new field as if all goes well all wet points will be replaced 
     833                  dta_read_dz(map(ib),1,ik) = 0._wp ! safety: put 0._wp into external thickness factors to ensure transport is correct 
     834               ENDIF 
     835      !           dta(ib,1,ik) = fv_alt    ! put fillvalue into new field as if all goes well all wet points will be replaced 
    829836            ENDDO 
    830837         ENDDO  
     
    853860            jj=1+floor(REAL(map(ib)-1)/REAL(ilendta)) 
    854861            ji=map(ib)-(jj-1)*ilendta 
    855             DO ik = 1, ipk                       
     862            DO ik = 1, jpk_bdy                       
    856863               IF( ( dta_read(ji,jj,ik) == fv ) ) THEN 
    857864                  dta_read_z(map(ib),1,ik) = fv_alt ! safety: put fillvalue into external depth field so consistent with data 
    858865               ENDIF 
    859                   dta(ib,1,ik) = fv_alt    ! put fillvalue into new field as if all goes well all wet points will be replaced 
     866     !            dta(ib,1,ik) = fv_alt    ! put fillvalue into new field as if all goes well all wet points will be replaced 
    860867            ENDDO 
    861868         ENDDO  
     
    885892 
    886893   END SUBROUTINE fld_bdy_interp 
     894   SUBROUTINE fld_bdy_conserve(dta_read, dta_read_z, map, jpk_bdy, igrd, ibdy, fv, dta) 
     895 
     896   END SUBROUTINE fld_bdy_conserve 
     897 
    887898#endif 
    888899 
Note: See TracChangeset for help on using the changeset viewer.