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 4924 for branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/IOM – NEMO

Ignore:
Timestamp:
2014-11-28T18:24:01+01:00 (10 years ago)
Author:
mathiot
Message:

UKM02_ice_shelves merged and SETTE tested with revision 4879 of trunk

Location:
branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/IOM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r4650 r4924  
    3232   USE trc_oce, ONLY :   nn_dttrc        !  !: frequency of step on passive tracers 
    3333   USE icb_oce, ONLY :   nclasses, class_num       !  !: iceberg classes 
     34#if defined key_lim3 
     35   USE par_ice 
     36#elif defined key_lim2 
     37   USE par_ice_2 
     38#endif 
    3439   USE domngb          ! ocean space and time domain 
    3540   USE phycst          ! physical constants 
     
    4954#endif 
    5055   PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_gettime, iom_rstput, iom_put 
    51    PUBLIC iom_getatt, iom_context_finalize 
     56   PUBLIC iom_getatt, iom_use, iom_context_finalize 
    5257 
    5358   PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d 
     
    143148      CALL iom_set_axis_attr( "nfloat", (/ (REAL(ji,wp), ji=1,nfloat) /) ) 
    144149# endif 
     150#if defined key_lim3 || defined key_lim2 
     151      CALL iom_set_axis_attr( "ncatice", (/ (REAL(ji,wp), ji=1,jpl) /) ) 
     152#endif 
    145153      CALL iom_set_axis_attr( "icbcla", class_num ) 
    146154       
     
    10151023      CHARACTER(LEN=*), INTENT(in) ::   cdname 
    10161024      REAL(wp)        , INTENT(in) ::   pfield0d 
     1025      REAL(wp)        , DIMENSION(jpi,jpj) ::   zz     ! masson 
    10171026#if defined key_iomput 
    1018       CALL xios_send_field(cdname, (/pfield0d/)) 
     1027      zz(:,:)=pfield0d 
     1028      CALL xios_send_field(cdname, zz) 
     1029      !CALL xios_send_field(cdname, (/pfield0d/))  
    10191030#else 
    10201031      IF( .FALSE. )   WRITE(numout,*) cdname, pfield0d   ! useless test to avoid compilation warnings 
     
    12071218      !! 
    12081219      !!---------------------------------------------------------------------- 
    1209       REAL(wp), DIMENSION(1,1) ::   zz = 1. 
     1220      REAL(wp), DIMENSION(1) ::   zz = 1. 
    12101221      !!---------------------------------------------------------------------- 
    12111222      CALL iom_set_domain_attr('scalarpoint', ni_glo=jpnij, nj_glo=1, ibegin=narea, jbegin=1, ni=1, nj=1) 
    1212       CALL iom_set_domain_attr('scalarpoint', data_dim=1) 
    1213       CALL iom_set_domain_attr('scalarpoint', lonvalue=(/ zz /), latvalue=(/ zz /)) 
     1223      CALL iom_set_domain_attr('scalarpoint', data_dim=2, data_ibegin = 1, data_ni = 1, data_jbegin = 1, data_nj = 1) 
     1224      zz=REAL(narea,wp) 
     1225      CALL iom_set_domain_attr('scalarpoint', lonvalue=zz, latvalue=zz) 
    12141226 
    12151227   END SUBROUTINE set_scalar 
     
    14991511 
    15001512#endif 
     1513 
     1514   LOGICAL FUNCTION iom_use( cdname ) 
     1515      CHARACTER(LEN=*), INTENT(in) ::   cdname 
     1516#if defined key_iomput 
     1517      iom_use = xios_field_is_active( cdname ) 
     1518#else 
     1519      iom_use = .FALSE. 
     1520#endif 
     1521   END FUNCTION iom_use 
    15011522    
    15021523   !!====================================================================== 
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90

    r4292 r4924  
    217217         CALL iom_nf90_check(NF90_Inquire_Variable(if90id, ivarid, dimids = idimid(1:i_nvd)), clinfo)   ! dimensions ids 
    218218         iom_file(kiomid)%luld(kiv) = .FALSE.   ! default value 
    219          iom_file(kiomid)%dimsz(:,kiv) = 0   ! reset dimsz in case previously used 
     219         iom_file(kiomid)%dimsz(:,kiv) = 0      ! reset dimsz in case previously used 
    220220         DO ji = 1, i_nvd                       ! dimensions size 
    221221            CALL iom_nf90_check(NF90_Inquire_Dimension(if90id, idimid(ji), len = iom_file(kiomid)%dimsz(ji,kiv)), clinfo)    
  • branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r4747 r4924  
    126126                     CALL iom_rstput( kt, nitrst, numrow, 'fsdepw ', fsdepw (:,:,:) ) 
    127127      END IF 
     128      IF( lk_lim3 .AND. .NOT. lk_vvl )  CALL iom_rstput( kt, nitrst, numrow, 'fse3t_b', fse3t_b(:,:,:) ) 
    128129                     ! 
    129130                     CALL iom_rstput( kt, nitrst, numrow, 'un'     , un        )     ! now fields 
     
    216217         CALL iom_get( numror, jpdom_autoglo, 'hdivb'  , hdivb   ) 
    217218         CALL iom_get( numror, jpdom_autoglo, 'sshb'   , sshb    ) 
     219         IF( lk_lim3 )   CALL iom_get( numror, jpdom_autoglo, 'fse3t_b', fse3t_b(:,:,:) ) 
    218220      ELSE 
    219221         neuler = 0 
     
    251253         hdivb(:,:,:)   = hdivn(:,:,:) 
    252254         sshb (:,:)     = sshn (:,:) 
     255 
    253256         IF( lk_vvl ) THEN 
    254257            DO jk = 1, jpk 
     
    256259            END DO 
    257260         ENDIF 
    258       ENDIF 
    259       ! 
    260       IF( lk_lim3 ) THEN  
     261 
     262         IF( lk_lim3 .AND. .NOT. lk_vvl ) THEN 
     263            DO jk = 1, jpk 
     264               fse3t_b(:,:,jk) = fse3t_n(:,:,jk) 
     265            END DO 
     266         ENDIF 
     267 
     268      ENDIF 
     269      ! 
     270      IF( lk_lim3 ) THEN 
    261271         CALL iom_get( numror, jpdom_autoglo, 'iatte' , iatte ) ! clem modif 
    262272         CALL iom_get( numror, jpdom_autoglo, 'oatte' , oatte ) ! clem modif 
Note: See TracChangeset for help on using the changeset viewer.