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 3938 for branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM – NEMO

Ignore:
Timestamp:
2013-06-26T09:54:16+02:00 (11 years ago)
Author:
flavoni
Message:

dev_r3406_CNRS_LIM3: update LIM3, see ticket #1116

Location:
branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r3294 r3938  
    2727   USE in_out_manager  ! I/O manager 
    2828   USE lib_mpp           ! MPP library 
     29   USE timing          ! Timing 
    2930#if defined key_iomput 
    3031   USE sbc_oce, ONLY :   nn_fsbc         ! ocean space and time domain 
     
    376377 
    377378 
    378    FUNCTION iom_varid ( kiomid, cdvar, kdimsz, ldstop )   
     379   FUNCTION iom_varid ( kiomid, cdvar, kdimsz, kndims, ldstop )   
    379380      !!----------------------------------------------------------------------- 
    380381      !!                  ***  FUNCTION  iom_varid  *** 
     
    385386      CHARACTER(len=*)     , INTENT(in   )           ::   cdvar    ! name of the variable 
    386387      INTEGER, DIMENSION(:), INTENT(  out), OPTIONAL ::   kdimsz   ! size of the dimensions 
     388      INTEGER,               INTENT(  out), OPTIONAL ::   kndims   ! size of the dimensions 
    387389      LOGICAL              , INTENT(in   ), OPTIONAL ::   ldstop   ! stop if looking for non-existing variable (default = .TRUE.) 
    388390      ! 
     
    416418                  SELECT CASE (iom_file(kiomid)%iolib) 
    417419                  CASE (jpioipsl )   ;   iom_varid = iom_ioipsl_varid( kiomid, cdvar, iiv, kdimsz ) 
    418                   CASE (jpnf90   )   ;   iom_varid = iom_nf90_varid  ( kiomid, cdvar, iiv, kdimsz ) 
     420                  CASE (jpnf90   )   ;   iom_varid = iom_nf90_varid  ( kiomid, cdvar, iiv, kdimsz, kndims ) 
    419421                  CASE (jprstdimg)   ;   iom_varid = -1   ! all variables are listed in iom_file 
    420422                  CASE DEFAULT    
     
    437439                  ENDIF 
    438440               ENDIF 
     441               IF( PRESENT(kndims) )  kndims = iom_file(kiomid)%ndims(iiv) 
    439442            ENDIF 
    440443         ENDIF 
     
    959962      CHARACTER(LEN=*), INTENT(in) ::   cdname 
    960963      REAL(wp)        , INTENT(in) ::   pfield0d 
     964      IF( nn_timing == 1 )  CALL timing_start('iom_put0') 
    961965#if defined key_iomput 
    962966      CALL event__write_field2D( cdname, RESHAPE( (/pfield0d/), (/1,1/) ) ) 
     
    964968      IF( .FALSE. )   WRITE(numout,*) cdname, pfield0d   ! useless test to avoid compilation warnings 
    965969#endif 
     970      IF( nn_timing == 1 )  CALL timing_stop('iom_put0') 
    966971   END SUBROUTINE iom_p0d 
    967972 
     
    970975      REAL(wp),     DIMENSION(:), INTENT(in) ::   pfield1d 
    971976      INTEGER :: jpz 
     977      IF( nn_timing == 1 )  CALL timing_start('iom_put1') 
    972978#if defined key_iomput 
    973979      jpz=SIZE(pfield1d) 
     
    976982      IF( .FALSE. )   WRITE(numout,*) cdname, pfield1d   ! useless test to avoid compilation warnings 
    977983#endif 
     984      IF( nn_timing == 1 )  CALL timing_stop('iom_put1') 
    978985   END SUBROUTINE iom_p1d 
    979986 
     
    981988      CHARACTER(LEN=*)            , INTENT(in) ::   cdname 
    982989      REAL(wp),     DIMENSION(:,:), INTENT(in) ::   pfield2d 
     990      IF( nn_timing == 1 )  CALL timing_start('iom_put2') 
    983991#if defined key_iomput 
    984992      CALL event__write_field2D( cdname, pfield2d(nldi:nlei, nldj:nlej) ) 
     
    986994      IF( .FALSE. )   WRITE(numout,*) cdname, pfield2d   ! useless test to avoid compilation warnings 
    987995#endif 
     996      IF( nn_timing == 1 )  CALL timing_stop('iom_put2') 
    988997   END SUBROUTINE iom_p2d 
    989998 
     
    9911000      CHARACTER(LEN=*)                , INTENT(in) ::   cdname 
    9921001      REAL(wp),       DIMENSION(:,:,:), INTENT(in) ::   pfield3d 
     1002      IF( nn_timing == 1 )  CALL timing_start('iom_put3') 
    9931003#if defined key_iomput 
    9941004      CALL event__write_field3D( cdname, pfield3d(nldi:nlei, nldj:nlej, :) ) 
     
    9961006      IF( .FALSE. )   WRITE(numout,*) cdname, pfield3d   ! useless test to avoid compilation warnings 
    9971007#endif 
     1008      IF( nn_timing == 1 )  CALL timing_stop('iom_put3') 
    9981009   END SUBROUTINE iom_p3d 
    9991010   !!---------------------------------------------------------------------- 
     
    10701081      CALL event__set_attribut( 'field_definition', attr( field__freq_op, idt           ) )    ! model time-step 
    10711082      CALL event__set_attribut( 'SBC'             , attr( field__freq_op, idt * nn_fsbc ) )    ! SBC time-step 
     1083 !SF  
     1084      CALL event__set_attribut( 'scalar_SBC'      , attr( field__freq_op, idt * nn_fsbc ) )    ! SBC time-step 
    10721085       
    10731086      ! output file names (attribut: name) 
  • branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90

    r2715 r3938  
    181181 
    182182 
    183    FUNCTION iom_nf90_varid ( kiomid, cdvar, kiv, kdimsz 
     183   FUNCTION iom_nf90_varid ( kiomid, cdvar, kiv, kdimsz, kndims 
    184184      !!----------------------------------------------------------------------- 
    185185      !!                  ***  FUNCTION  iom_varid  *** 
     
    191191      INTEGER              , INTENT(in   )           ::   kiv   !  
    192192      INTEGER, DIMENSION(:), INTENT(  out), OPTIONAL ::   kdimsz   ! size of the dimensions 
     193      INTEGER,               INTENT(  out), OPTIONAL ::   kndims   ! size of the dimensions 
    193194      ! 
    194195      INTEGER                        ::   iom_nf90_varid   ! iom variable Id 
     
    242243            ENDIF 
    243244         ENDIF 
     245         IF( PRESENT(kndims) )  kndims = iom_file(kiomid)%ndims(kiv) 
    244246      ELSE   
    245247         iom_nf90_varid = -1   !   variable not found, return error code: -1 
Note: See TracChangeset for help on using the changeset viewer.