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 5282 for branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/IOM – NEMO

Ignore:
Timestamp:
2015-05-18T17:19:50+02:00 (9 years ago)
Author:
diovino
Message:

Dev. branch CMCC4_simplification ticket #1456

Location:
branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/IOM
Files:
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r4990 r5282  
    3838   INTEGER       ::   nn_write         !: model standard output frequency 
    3939   INTEGER       ::   nn_stock         !: restart file frequency 
    40    LOGICAL       ::   ln_dimgnnn       !: type of dimgout. (F): 1 file for all proc 
    41                                                        !:                  (T): 1 file per proc 
    4240   LOGICAL       ::   ln_mskland       !: mask land points in NetCDF outputs (costly: + ~15%) 
    4341   LOGICAL       ::   ln_clobber       !: clobber (overwrite) an existing file 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r5043 r5282  
    88   !!            3.0  ! 2007-07  (D. Storkey) Changes to iom_gettime 
    99   !!            3.4  ! 2012-12  (R. Bourdalle-Badie and G. Reffray)  add C1D case   
     10   !!            3.6  ! 2014-15  DIMG format removed 
    1011   !!-------------------------------------------------------------------- 
    1112 
     
    2324   USE lbclnk          ! lateal boundary condition / mpp exchanges 
    2425   USE iom_def         ! iom variables definitions 
    25    USE iom_ioipsl      ! NetCDF format with IOIPSL library 
    2626   USE iom_nf90        ! NetCDF format with native NetCDF library 
    27    USE iom_rstdimg     ! restarts access direct format "dimg" style... 
    2827   USE in_out_manager  ! I/O manager 
    2928   USE lib_mpp           ! MPP library 
     
    205204      CHARACTER(LEN=256)    ::   clname    ! the name of the file based on cdname [[+clcpu]+clcpu] 
    206205      CHARACTER(LEN=256)    ::   cltmpn    ! tempory name to store clname (in writting mode) 
    207       CHARACTER(LEN=10)     ::   clsuffix  ! ".nc" or ".dimg" 
     206      CHARACTER(LEN=10)     ::   clsuffix  ! ".nc"  
    208207      CHARACTER(LEN=15)     ::   clcpu     ! the cpu number (max jpmax_digits digits) 
    209208      CHARACTER(LEN=256)    ::   clinfo    ! info character 
     
    268267      ! which suffix should we use? 
    269268      SELECT CASE (iolib) 
    270       CASE (jpioipsl ) ;   clsuffix = '.nc' 
    271269      CASE (jpnf90   ) ;   clsuffix = '.nc' 
    272       CASE (jprstdimg) ;   clsuffix = '.dimg' 
    273270      CASE DEFAULT     ;   clsuffix = '' 
    274          CALL ctl_stop( TRIM(clinfo), 'accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     271         CALL ctl_stop( TRIM(clinfo), 'accepted IO library is only jpnf90 (jpioipsl option has been removed) ' ) 
    275272      END SELECT 
    276273      ! Add the suffix if needed 
     
    285282      IF( .NOT.llok ) THEN 
    286283         ! we try to add the cpu number to the name 
    287          IF( iolib == jprstdimg ) THEN   ;   WRITE(clcpu,*) narea 
    288          ELSE                            ;   WRITE(clcpu,*) narea-1 
    289          ENDIF 
     284         WRITE(clcpu,*) narea-1 
     285 
    290286         clcpu  = TRIM(ADJUSTL(clcpu)) 
    291287         iln = INDEX(clname,TRIM(clsuffix), back = .TRUE.) 
     
    334330         END SELECT 
    335331      ENDIF 
    336       ! Open the NetCDF or RSTDIMG file 
     332      ! Open the NetCDF file 
    337333      ! ============= 
    338334      ! do we have some free file identifier? 
     
    358354      IF( istop == nstop ) THEN   ! no error within this routine 
    359355         SELECT CASE (iolib) 
    360          CASE (jpioipsl )   ;   CALL iom_ioipsl_open(  clname, kiomid, llwrt, llok, idompar ) 
    361356         CASE (jpnf90   )   ;   CALL iom_nf90_open(    clname, kiomid, llwrt, llok, idompar ) 
    362          CASE (jprstdimg)   ;   CALL iom_rstdimg_open( clname, kiomid, llwrt, llok, idompar ) 
    363357         CASE DEFAULT 
    364             CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     358            CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed) ' ) 
    365359         END SELECT 
    366360      ENDIF 
     
    397391            IF( iom_file(jf)%nfid > 0 ) THEN 
    398392               SELECT CASE (iom_file(jf)%iolib) 
    399                CASE (jpioipsl )   ;   CALL iom_ioipsl_close(  jf ) 
    400393               CASE (jpnf90   )   ;   CALL iom_nf90_close(    jf ) 
    401                CASE (jprstdimg)   ;   CALL iom_rstdimg_close( jf ) 
    402394               CASE DEFAULT 
    403                   CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     395                  CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    404396               END SELECT 
    405397               iom_file(jf)%nfid       = 0          ! free the id  
     
    456448               IF( iiv <= jpmax_vars ) THEN 
    457449                  SELECT CASE (iom_file(kiomid)%iolib) 
    458                   CASE (jpioipsl )   ;   iom_varid = iom_ioipsl_varid( kiomid, cdvar, iiv, kdimsz ) 
    459450                  CASE (jpnf90   )   ;   iom_varid = iom_nf90_varid  ( kiomid, cdvar, iiv, kdimsz, kndims ) 
    460                   CASE (jprstdimg)   ;   iom_varid = -1   ! all variables are listed in iom_file 
    461                   CASE DEFAULT    
    462                      CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     451                  CASE DEFAULT 
     452                     CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    463453                  END SELECT 
    464454               ELSE 
     
    518508                                 &                         'Use ncwa -a to suppress the unnecessary dimensions' ) 
    519509            SELECT CASE (iom_file(kiomid)%iolib) 
    520             CASE (jpioipsl )   ;   CALL iom_ioipsl_get(  kiomid, idvar, pvar, itime ) 
    521510            CASE (jpnf90   )   ;   CALL iom_nf90_get(    kiomid, idvar, pvar, itime ) 
    522             CASE (jprstdimg)   ;   CALL iom_rstdimg_get( kiomid, idvar, pvar ) 
    523             CASE DEFAULT     
    524                CALL ctl_stop( 'iom_g0d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     511            CASE DEFAULT 
     512               CALL ctl_stop( 'iom_g0d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    525513            END SELECT 
    526514         ENDIF 
     
    785773       
    786774         SELECT CASE (iom_file(kiomid)%iolib) 
    787          CASE (jpioipsl )   ;   CALL iom_ioipsl_get(  kiomid, idvar, inbdim, istart, icnt, ix1, ix2, iy1, iy2,   & 
    788             &                                         pv_r1d, pv_r2d, pv_r3d ) 
    789775         CASE (jpnf90   )   ;   CALL iom_nf90_get(    kiomid, idvar, inbdim, istart, icnt, ix1, ix2, iy1, iy2,   & 
    790776            &                                         pv_r1d, pv_r2d, pv_r3d ) 
    791          CASE (jprstdimg)   ;   CALL iom_rstdimg_get( kiomid, idom, idvar, ix1, ix2, iy1, iy2,   & 
    792             &                                         pv_r1d, pv_r2d, pv_r3d ) 
    793          CASE DEFAULT     
    794             CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     777         CASE DEFAULT 
     778            CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    795779         END SELECT 
    796780 
     
    879863                  IF( iom_file(kiomid)%dimsz(1,idvar) <= size(ptime) ) THEN 
    880864                     SELECT CASE (iom_file(kiomid)%iolib) 
    881                      CASE (jpioipsl )   ;   CALL iom_ioipsl_gettime( kiomid, idvar, ptime, cdunits, cdcalendar ) 
    882865                     CASE (jpnf90   )   ;   CALL iom_nf90_gettime(   kiomid, idvar, ptime, cdunits, cdcalendar ) 
    883                      CASE (jprstdimg)   ;   CALL ctl_stop( TRIM(clinfo)//' case IO library == jprstdimg not coded...' ) 
    884                      CASE DEFAULT     
    885                         CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     866                     CASE DEFAULT 
     867                        CALL ctl_stop( TRIM(clinfo)//' accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    886868                     END SELECT 
    887869                  ELSE 
     
    914896         IF( iom_file(kiomid)%nfid > 0 ) THEN 
    915897            SELECT CASE (iom_file(kiomid)%iolib) 
    916             CASE (jpioipsl )   ;   CALL ctl_stop('iom_getatt: only nf90 available') 
    917898            CASE (jpnf90   )   ;   CALL iom_nf90_getatt( kiomid, cdatt, pvar ) 
    918             CASE (jprstdimg)   ;   CALL ctl_stop('iom_getatt: only nf90 available') 
    919             CASE DEFAULT     
    920                CALL ctl_stop( 'iom_g0d_att: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     899            CASE DEFAULT 
     900               CALL ctl_stop( 'iom_g0d_att: accepted IO library is only jpnf90' ) 
    921901            END SELECT 
    922902         ENDIF 
     
    940920            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    941921            SELECT CASE (iom_file(kiomid)%iolib) 
    942             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r0d = pvar ) 
    943922            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r0d = pvar ) 
    944             CASE (jprstdimg)   ;   IF( kt == kwrite )    CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pvar ) 
    945             CASE DEFAULT      
    946                CALL ctl_stop( 'iom_rp0d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     923            CASE DEFAULT 
     924               CALL ctl_stop( 'iom_rp0d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    947925            END SELECT 
    948926         ENDIF 
     
    962940            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    963941            SELECT CASE (iom_file(kiomid)%iolib) 
    964             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r1d = pvar ) 
    965942            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r1d = pvar ) 
    966             CASE (jprstdimg)   ;   IF( kt == kwrite )    CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pv_r1d = pvar ) 
    967             CASE DEFAULT      
    968                CALL ctl_stop( 'iom_rp1d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     943            CASE DEFAULT 
     944               CALL ctl_stop( 'iom_rp1d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    969945            END SELECT 
    970946         ENDIF 
     
    984960            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    985961            SELECT CASE (iom_file(kiomid)%iolib) 
    986             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r2d = pvar ) 
    987962            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r2d = pvar ) 
    988             CASE (jprstdimg)   ;   IF( kt == kwrite )   CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pv_r2d = pvar )  
    989             CASE DEFAULT      
    990                CALL ctl_stop( 'iom_rp2d: accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) 
     963            CASE DEFAULT 
     964               CALL ctl_stop( 'iom_rp2d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    991965            END SELECT 
    992966         ENDIF 
     
    1006980            ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 
    1007981            SELECT CASE (iom_file(kiomid)%iolib) 
    1008             CASE (jpioipsl )   ;   CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r3d = pvar ) 
    1009982            CASE (jpnf90   )   ;   CALL iom_nf90_rstput(   kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r3d = pvar ) 
    1010             CASE (jprstdimg)   ;   IF( kt == kwrite )   CALL iom_rstdimg_rstput( kiomid, cdvar, ivid, pv_r3d = pvar ) 
    1011             CASE DEFAULT      
    1012                CALL ctl_stop( 'iom_rp3d: accepted IO library are only jpioipsl and jprstdimg' ) 
     983            CASE DEFAULT 
     984               CALL ctl_stop( 'iom_rp3d: accepted IO library is only jpnf90 (jpioipsl option has been removed)' ) 
    1013985            END SELECT 
    1014986         ENDIF 
     
    14171389            idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 
    14181390            DO WHILE ( idx /= 0 )  
    1419                cldate = iom_sdate( fjulday - rdttra(1) / rday ) 
     1391               cldate = iom_sdate( fjulday - rdt / rday ) 
    14201392               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+11:LEN_TRIM(clname)) 
    14211393               idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@') 
     
    14241396            idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 
    14251397            DO WHILE ( idx /= 0 )  
    1426                cldate = iom_sdate( fjulday - rdttra(1) / rday, ldfull = .TRUE. ) 
     1398               cldate = iom_sdate( fjulday - rdt / rday, ldfull = .TRUE. ) 
    14271399               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+15:LEN_TRIM(clname)) 
    14281400               idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@') 
     
    14311403            idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 
    14321404            DO WHILE ( idx /= 0 )  
    1433                cldate = iom_sdate( fjulday + rdttra(1) / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. ) 
     1405               cldate = iom_sdate( fjulday + rdt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. ) 
    14341406               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+9:LEN_TRIM(clname)) 
    14351407               idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@') 
     
    14381410            idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 
    14391411            DO WHILE ( idx /= 0 )  
    1440                cldate = iom_sdate( fjulday + rdttra(1) / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. ) 
     1412               cldate = iom_sdate( fjulday + rdt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. ) 
    14411413               clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+13:LEN_TRIM(clname)) 
    14421414               idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@') 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/IOM/iom_def.F90

    r4205 r5282  
    2828   INTEGER, PARAMETER, PUBLIC ::   jpdom_autodta       = 9   !:  
    2929 
    30    INTEGER, PARAMETER, PUBLIC ::   jpioipsl    = 100      !: Use ioipsl (fliocom only) library 
    3130   INTEGER, PARAMETER, PUBLIC ::   jpnf90      = 101      !: Use nf90 library 
    32    INTEGER, PARAMETER, PUBLIC ::   jprstdimg   = 102      !: Use restart dimgs (fortran direct acces) library 
    33 #if defined key_dimgout 
    34    INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jprstdimg  !: restarts io library 
    35 #else 
     31 
    3632   INTEGER, PARAMETER, PUBLIC ::   jprstlib  = jpnf90     !: restarts io library 
    37 #endif 
    3833 
    3934   INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200      !: write REAL(8) 
     
    5449      CHARACTER(LEN=240)                        ::   name     !: name of the file 
    5550      INTEGER                                   ::   nfid     !: identifier of the file (0 if closed) 
    56       INTEGER                                   ::   iolib    !: library used to read the file (jpioipsl, jpnf90 or jprstdimg) 
     51      INTEGER                                   ::   iolib    !: library used to read the file (jpnf90 or new formats, 
     52                                                              !: jpioipsl option has been removed) 
    5753      INTEGER                                   ::   nvars    !: number of identified varibles in the file 
    5854      INTEGER                                   ::   iduld    !: id of the unlimited dimension 
  • branches/2015/dev_r5056_CMCC4_simplification/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r4990 r5282  
    8282            WRITE(numout,*) 
    8383            SELECT CASE ( jprstlib ) 
    84             CASE ( jprstdimg )   ;   WRITE(numout,*) '             open ocean restart binary file: '//clname 
    8584            CASE DEFAULT         ;   WRITE(numout,*) '             open ocean restart NetCDF file: '//clname 
    8685            END SELECT 
     
    110109      !!---------------------------------------------------------------------- 
    111110 
    112                      CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step 
    113                      CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step 
     111                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics and tracer time step 
    114112 
    115113                     CALL iom_rstput( kt, nitrst, numrow, 'ub'     , ub        )     ! before fields 
     
    165163            SELECT CASE ( jprstlib ) 
    166164            CASE ( jpnf90    )   ;   WRITE(numout,*) 'rst_read : read oce NetCDF restart file' 
    167             CASE ( jprstdimg )   ;   WRITE(numout,*) 'rst_read : read oce binary restart file' 
    168165            END SELECT 
    169166            IF ( snc4set%luse )      WRITE(numout,*) 'rst_read : configured with NetCDF4 support' 
     
    171168         ENDIF 
    172169 
    173          IF ( jprstlib == jprstdimg ) THEN 
    174            ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    175            ! if {cn_ocerst_in}.nc exists, then set jlibalt to jpnf90 
    176            INQUIRE( FILE = TRIM(cn_ocerst_in)//'.nc', EXIST = llok ) 
    177            IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
    178          ENDIF 
    179170         CALL iom_open( cn_ocerst_in, numror, kiolib = jlibalt ) 
    180171      ENDIF 
     
    189180      !! ** Method  :   Read in restart.nc file fields which are necessary for restart 
    190181      !!---------------------------------------------------------------------- 
    191       REAL(wp) ::   zrdt, zrdttra1 
     182      REAL(wp) ::   zrdt 
    192183      INTEGER  ::   jk 
    193184      LOGICAL  ::   llok 
     
    201192         IF( zrdt /= rdt )   neuler = 0 
    202193      ENDIF 
    203       IF( iom_varid( numror, 'rdttra1', ldstop = .FALSE. ) > 0 )   THEN 
    204          CALL iom_get( numror, 'rdttra1', zrdttra1 ) 
    205          IF( zrdttra1 /= rdttra(1) )   neuler = 0 
    206       ENDIF 
    207       !  
     194      ! 
    208195      IF( iom_varid( numror, 'ub', ldstop = .FALSE. ) > 0 ) THEN 
    209196         CALL iom_get( numror, jpdom_autoglo, 'ub'     , ub      )   ! before fields 
Note: See TracChangeset for help on using the changeset viewer.