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 6491 for branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90 – NEMO

Ignore:
Timestamp:
2016-04-21T18:15:17+02:00 (8 years ago)
Author:
davestorkey
Message:

Commit remaining changes to UKMO/r5518_GO6_package branch from following branches:
UKMO/dev_r5021_nn_etau_revision@6238
UKMO/dev_r5107_mld_zint@5534
UKMO/dev_r5107_eorca025_closea@6390
UKMO/restart_datestamp@5539
UKMO/icebergs_latent_heat@5821
UKMO/icebergs_restart_single_file_corrected@6480
UKMO/product_diagnostics@5971
UKMO/antarctic_partial_slip@5961
Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r5961 cf. r5958 of /branches/UKMO/antarctic_partial_slip/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r6349 cf. r5962 of /branches/UKMO/product_diagnostics/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r6480 cf. r6479 of /branches/UKMO/icebergs_restart_single_file_corrected/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r5986 cf. r5852 of /branches/UKMO/icebergs_restart_single_file/NEMOGCM@6490

Custom merge into /branches/UKMO/dev_r5518_GO6_package/NEMOGCM: r5821 cf. r5808 of /branches/UKMO/icebergs_latent_heat/NEMOGCM@6490

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r6487 r6491  
    710710      CHARACTER(LEN=256)             ::   clname      ! file name 
    711711      CHARACTER(LEN=1)               ::   clrankpv, cldmspc      !  
     712      LOGICAL                        ::   ll_depth_spec ! T => if kstart, kcount present then *only* use values for 3rd spatial dimension. 
    712713      !--------------------------------------------------------------------- 
    713714      ! 
     
    722723      IF( PRESENT(kcount) .AND. (.NOT. PRESENT(kstart)) ) CALL ctl_stop(trim(clinfo), 'kcount present needs kstart present') 
    723724      IF( PRESENT(kstart) .AND. (.NOT. PRESENT(kcount)) ) CALL ctl_stop(trim(clinfo), 'kstart present needs kcount present') 
    724       IF( PRESENT(kstart) .AND. idom /= jpdom_unknown   ) CALL ctl_stop(trim(clinfo), 'kstart present needs kdom = jpdom_unknown') 
     725      IF( PRESENT(kstart) .AND. idom /= jpdom_unknown .AND.  idom /= jpdom_autoglo_xy  ) & 
     726     &           CALL ctl_stop(trim(clinfo), 'kstart present needs kdom = jpdom_unknown or kdom = jpdom_autoglo_xy') 
    725727 
    726728      luse_jattr = .false. 
     
    755757         ! update idom definition... 
    756758         ! Identify the domain in case of jpdom_auto(glo/dta) definition 
     759         IF( idom == jpdom_autoglo_xy ) THEN 
     760            ll_depth_spec = .TRUE. 
     761            idom = jpdom_autoglo 
     762         ELSE 
     763            ll_depth_spec = .FALSE. 
     764         ENDIF 
    757765         IF( idom == jpdom_autoglo .OR. idom == jpdom_autodta ) THEN             
    758766            IF( idom == jpdom_autoglo ) THEN   ;   idom = jpdom_global  
     
    808816         istart(idmspc+1) = itime 
    809817 
    810          IF(              PRESENT(kstart)      ) THEN ; istart(1:idmspc) = kstart(1:idmspc) ; icnt(1:idmspc) = kcount(1:idmspc) 
     818         IF( PRESENT(kstart) .AND. .NOT. ll_depth_spec ) THEN ; istart(1:idmspc) = kstart(1:idmspc) ; icnt(1:idmspc) = kcount(1:idmspc) 
    811819         ELSE 
    812             IF(           idom == jpdom_unknown ) THEN                                       ; icnt(1:idmspc) = idimsz(1:idmspc) 
     820            IF(           idom == jpdom_unknown ) THEN                                                ; icnt(1:idmspc) = idimsz(1:idmspc) 
    813821            ELSE  
    814822               IF( .NOT. PRESENT(pv_r1d) ) THEN   !   not a 1D array 
     
    833841                  ENDIF 
    834842                  IF( PRESENT(pv_r3d) ) THEN 
    835                      IF( idom == jpdom_data ) THEN   ; icnt(3) = jpkdta 
    836                      ELSE                            ; icnt(3) = jpk 
     843                     IF( idom == jpdom_data ) THEN                                  ; icnt(3) = jpkdta 
     844                     ELSE IF( ll_depth_spec .AND. PRESENT(kstart) ) THEN            ; istart(3) = kstart(3); icnt(3) = kcount(3) 
     845                     ELSE                                                           ; icnt(3) = jpk 
    837846                     ENDIF 
    838847                  ENDIF 
Note: See TracChangeset for help on using the changeset viewer.