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 6069 for branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90 – NEMO

Ignore:
Timestamp:
2015-12-16T16:44:35+01:00 (8 years ago)
Author:
timgraham
Message:

Merge of dev_MetOffice_merge_2015 into branch (only NEMO directory for now).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r5836 r6069  
    673673      CHARACTER(LEN=256)             ::   clname      ! file name 
    674674      CHARACTER(LEN=1)               ::   clrankpv, cldmspc      !  
     675      LOGICAL                        ::   ll_depth_spec ! T => if kstart, kcount present then *only* use values for 3rd spatial dimension. 
    675676      !--------------------------------------------------------------------- 
    676677      ! 
     
    685686      IF( PRESENT(kcount) .AND. (.NOT. PRESENT(kstart)) ) CALL ctl_stop(trim(clinfo), 'kcount present needs kstart present') 
    686687      IF( PRESENT(kstart) .AND. (.NOT. PRESENT(kcount)) ) CALL ctl_stop(trim(clinfo), 'kstart present needs kcount present') 
    687       IF( PRESENT(kstart) .AND. idom /= jpdom_unknown   ) CALL ctl_stop(trim(clinfo), 'kstart present needs kdom = jpdom_unknown') 
     688      IF( PRESENT(kstart) .AND. idom /= jpdom_unknown .AND.  idom /= jpdom_autoglo_xy  ) & 
     689     &           CALL ctl_stop(trim(clinfo), 'kstart present needs kdom = jpdom_unknown or kdom = jpdom_autoglo_xy') 
    688690 
    689691      luse_jattr = .false. 
     
    718720         ! update idom definition... 
    719721         ! Identify the domain in case of jpdom_auto(glo/dta) definition 
     722         IF( idom == jpdom_autoglo_xy ) THEN 
     723            ll_depth_spec = .TRUE. 
     724            idom = jpdom_autoglo 
     725         ELSE 
     726            ll_depth_spec = .FALSE. 
     727         ENDIF 
    720728         IF( idom == jpdom_autoglo .OR. idom == jpdom_autodta ) THEN             
    721729            IF( idom == jpdom_autoglo ) THEN   ;   idom = jpdom_global  
     
    771779         istart(idmspc+1) = itime 
    772780 
    773          IF(              PRESENT(kstart)      ) THEN ; istart(1:idmspc) = kstart(1:idmspc) ; icnt(1:idmspc) = kcount(1:idmspc) 
     781         IF( PRESENT(kstart) .AND. .NOT. ll_depth_spec ) THEN ; istart(1:idmspc) = kstart(1:idmspc) ; icnt(1:idmspc) = kcount(1:idmspc) 
    774782         ELSE 
    775             IF(           idom == jpdom_unknown ) THEN                                       ; icnt(1:idmspc) = idimsz(1:idmspc) 
     783            IF(           idom == jpdom_unknown ) THEN                                                ; icnt(1:idmspc) = idimsz(1:idmspc) 
    776784            ELSE  
    777785               IF( .NOT. PRESENT(pv_r1d) ) THEN   !   not a 1D array 
     
    796804                  ENDIF 
    797805                  IF( PRESENT(pv_r3d) ) THEN 
    798                      IF( idom == jpdom_data ) THEN   ; icnt(3) = jpkdta 
    799                      ELSE                            ; icnt(3) = jpk 
     806                     IF( idom == jpdom_data ) THEN                                  ; icnt(3) = jpkdta 
     807                     ELSE IF( ll_depth_spec .AND. PRESENT(kstart) ) THEN            ; istart(3) = kstart(3); icnt(3) = kcount(3) 
     808                     ELSE                                                           ; icnt(3) = jpk 
    800809                     ENDIF 
    801810                  ENDIF 
Note: See TracChangeset for help on using the changeset viewer.