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 5086 for branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90 – NEMO

Ignore:
Timestamp:
2015-02-17T10:06:39+01:00 (9 years ago)
Author:
timgraham
Message:

Merged head of trunk into branch in preparation for putting code back onto the trunk
In working copy ran the command:
svn merge svn+sshtimgraham@…/ipsl/forge/projets/nemo/svn/trunk

Also recompiled NEMO_book.pdf with merged input files

File:
1 edited

Legend:

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

    r4650 r5086  
    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 
     
    11551166   SUBROUTINE iom_context_finalize( cdname ) 
    11561167      CHARACTER(LEN=*), INTENT(in) :: cdname 
    1157       !      
    1158       CALL iom_swap( cdname )   ! swap to cdname context 
    1159       CALL xios_context_finalize() ! finalize the context 
    1160       IF( cdname /= "nemo" ) CALL iom_swap( "nemo" )   ! return back to nemo context 
     1168      ! 
     1169      IF( xios_is_valid_context(cdname) ) THEN 
     1170         CALL iom_swap( cdname )   ! swap to cdname context 
     1171         CALL xios_context_finalize() ! finalize the context 
     1172         IF( cdname /= "nemo" ) CALL iom_swap( "nemo" )   ! return back to nemo context 
     1173      ENDIF 
    11611174      ! 
    11621175   END SUBROUTINE iom_context_finalize 
     
    11891202         CASE('T')   ;   zmask(:,:,:)       = tmask(:,:,:) 
    11901203         CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( zmask, 'U', 1. ) 
    1191          CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpi,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
     1204         CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
    11921205         CASE('W')   ;   zmask(:,:,2:jpk  ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk)   ;   zmask(:,:,1) = tmask(:,:,1) 
    11931206         END SELECT 
     
    12071220      !! 
    12081221      !!---------------------------------------------------------------------- 
    1209       REAL(wp), DIMENSION(1,1) ::   zz = 1. 
     1222      REAL(wp), DIMENSION(1) ::   zz = 1. 
    12101223      !!---------------------------------------------------------------------- 
    12111224      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 /)) 
     1225      CALL iom_set_domain_attr('scalarpoint', data_dim=2, data_ibegin = 1, data_ni = 1, data_jbegin = 1, data_nj = 1) 
     1226      zz=REAL(narea,wp) 
     1227      CALL iom_set_domain_attr('scalarpoint', lonvalue=zz, latvalue=zz) 
    12141228 
    12151229   END SUBROUTINE set_scalar 
     
    12261240      CHARACTER(len=256)             ::   clsuff                   ! suffix name 
    12271241      CHARACTER(len=1)               ::   cl1                      ! 1 character 
    1228       CHARACTER(len=2)               ::   cl2                      ! 1 character 
     1242      CHARACTER(len=2)               ::   cl2                      ! 2 characters 
     1243      CHARACTER(len=3)               ::   cl3                      ! 3 characters 
    12291244      INTEGER                        ::   ji, jg                   ! loop counters 
    12301245      INTEGER                        ::   ix, iy                   ! i-,j- index 
     
    12521267         WRITE(cl2,'(i2.2)') ji  
    12531268         CALL iom_update_file_name('file'//cl2) 
     1269      END DO 
     1270      DO ji = 1, 999 
     1271         WRITE(cl3,'(i3.3)') ji  
     1272         CALL iom_update_file_name('file'//cl3) 
    12541273      END DO 
    12551274 
     
    14991518 
    15001519#endif 
     1520 
     1521   LOGICAL FUNCTION iom_use( cdname ) 
     1522      CHARACTER(LEN=*), INTENT(in) ::   cdname 
     1523#if defined key_iomput 
     1524      iom_use = xios_field_is_active( cdname ) 
     1525#else 
     1526      iom_use = .FALSE. 
     1527#endif 
     1528   END FUNCTION iom_use 
    15011529    
    15021530   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.