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 13750 – NEMO

Changeset 13750


Ignore:
Timestamp:
2020-11-09T16:35:44+01:00 (3 years ago)
Author:
andmirek
Message:

Ticket #2462: Fixes after merge

Location:
NEMO/branches/2020/dev_12905_xios_restart
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icerst.F90

    r13727 r13750  
    9595                  clpname = TRIM(Agrif_CFixed())//"_"//clname 
    9696               ENDIF 
    97                CALL iom_init( cwixios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,& 
    98                                                                             ld_closedef = .FALSE. ) 
     97               CALL iom_init( cwixios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
    9998               CALL iom_swap(      cxios_context          ) 
    10099#else 
     
    228227          ENDIF 
    229228          CALL iom_init( crixios_context, fname = TRIM(cn_icerst_indir)//'/'//TRIM(clpname), & 
    230                                           idfp = iom_file(numrir)%nfid, ld_tmppatch = .TRUE. ) 
     229                                          idfp = iom_file(numrir)%nfid, ld_closedef = .TRUE. ) 
    231230      ENDIF 
    232231 
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/DOM/domqco.F90

    r13727 r13750  
    9191      ! 
    9292      CALL dom_qco_zgr(Kbb, Kmm, Kaa) ! interpolation scale factor, depth and water column 
    93       ! 
    94       ! IF(lwxios) THEN   ! define variables in restart file when writing with XIOS 
    95       !    CALL iom_set_rstw_var_active('e3t_b') 
    96       !    CALL iom_set_rstw_var_active('e3t_n') 
    97       ! ENDIF 
    9893      ! 
    9994   END SUBROUTINE dom_qco_init 
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/iom.F90

    r13728 r13750  
    103103CONTAINS 
    104104 
    105    SUBROUTINE iom_init( cdname, fname, ld_closedef )  
     105   SUBROUTINE iom_init( cdname, fname, idfp, ld_closedef )  
    106106      !!---------------------------------------------------------------------- 
    107107      !!                     ***  ROUTINE   *** 
     
    450450 
    451451 
    452    SUBROUTINE iom_set_rstw_active(sdfield, rd0, rd1, rd2, rd3) 
     452   SUBROUTINE iom_set_rstw_active(sdfield, rd0, rs0, rd1, rs1, rd2, rs2, rd3, rs3) 
    453453      !!--------------------------------------------------------------------- 
    454454      !!                   ***  SUBROUTINE iom_set_rstw_active   *** 
     
    459459!sets enabled = .TRUE. for each field in restart file 
    460460   CHARACTER(len = *), INTENT(IN)                     :: sdfield 
    461    REAL(wp), OPTIONAL, INTENT(IN)                     :: rd0 
    462    REAL(wp), OPTIONAL, INTENT(IN), DIMENSION(:)       :: rd1 
    463    REAL(wp), OPTIONAL, INTENT(IN), DIMENSION(:, :)    :: rd2 
    464    REAL(wp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rd3   
     461   REAL(dp), OPTIONAL, INTENT(IN)                     :: rd0 
     462   REAL(sp), OPTIONAL, INTENT(IN)                     :: rs0 
     463   REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:)       :: rd1 
     464   REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:)       :: rs1 
     465   REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:, :)    :: rd2 
     466   REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:, :)    :: rs2 
     467   REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rd3   
     468   REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rs3 
    465469#if defined key_iomput 
    466470   TYPE(xios_field) :: field_hdl 
     
    479483                            domain_ref="grid_N", axis_ref=TRIM(iom_axis(size(rd3, 3))), & 
    480484                            prec = 8, operation = "instant") 
    481         ENDIF 
    482  
    483         IF(PRESENT(rd2)) THEN 
     485        ELSEIF(PRESENT(rs3)) THEN 
     486               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield),   & 
     487                            domain_ref="grid_N", axis_ref=TRIM(iom_axis(size(rd3, 3))), & 
     488                            prec = 4, operation = "instant") 
     489        ELSEIF(PRESENT(rd2)) THEN 
    484490               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 
    485491                                   domain_ref="grid_N", prec = 8, operation = "instant")  
    486         ENDIF 
    487  
    488         IF(PRESENT(rd1)) THEN 
     492        ELSEIF(PRESENT(rs2)) THEN 
     493               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 
     494                                   domain_ref="grid_N", prec = 4, operation = "instant") 
     495        ELSEIF(PRESENT(rd1)) THEN 
    489496               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 
    490497                                   axis_ref=TRIM(iom_axis(size(rd1, 1))), prec = 8, operation = "instant") 
    491         ENDIF 
    492  
    493         IF(PRESENT(rd0)) THEN 
     498        ELSEIF(PRESENT(rs1)) THEN 
     499               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 
     500                                   axis_ref=TRIM(iom_axis(size(rd1, 1))), prec = 4, operation = "instant") 
     501        ELSEIF(PRESENT(rd0)) THEN 
    494502               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 
    495503                                         scalar_ref = "grid_scalar", prec = 8, operation = "instant") 
     504        ELSEIF(PRESENT(rs0)) THEN 
     505               CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 
     506                                         scalar_ref = "grid_scalar", prec = 4, operation = "instant") 
    496507        ENDIF 
    497508#endif 
     
    15161527      IF( kt == kwrite ) THEN 
    15171528          IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) 
    1518           CALL xios_send_field(trim(cdvar), pvar) 
     1529          CALL iom_put(trim(cdvar), pvar) 
     1530      ELSE 
     1531          IF(lwp) write(numout,*) 'RESTART: define (XIOS 0D) ',trim(cdvar) 
     1532          CALL iom_set_rstw_active( trim(cdvar), rs0 = pvar )  
    15191533      ENDIF 
    15201534#endif 
     
    15461560      IF( kt == kwrite ) THEN 
    15471561          IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) 
    1548           CALL xios_send_field(trim(cdvar), pvar) 
     1562          CALL iom_put(trim(cdvar), pvar) 
     1563      ELSE 
     1564          IF(lwp) write(numout,*) 'RESTART: define (XIOS 0D) ',trim(cdvar) 
     1565          CALL iom_set_rstw_active( trim(cdvar), rd0 = pvar )  
    15491566      ENDIF 
    15501567#endif 
     
    15771594      IF( kt == kwrite ) THEN 
    15781595         IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) 
    1579          CALL xios_send_field(trim(cdvar), pvar) 
     1596         CALL iom_put(trim(cdvar), pvar) 
     1597      ELSE 
     1598         IF(lwp) write(numout,*) 'RESTART: define (XIOS 1D)',trim(cdvar) 
     1599         CALL iom_set_rstw_active( trim(cdvar), rs1 = pvar ) 
    15801600      ENDIF 
    15811601#endif 
     
    16071627      IF( kt == kwrite ) THEN 
    16081628         IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) 
    1609          CALL xios_send_field(trim(cdvar), pvar) 
     1629         CALL iom_put(trim(cdvar), pvar) 
     1630      ELSE 
     1631         IF(lwp) write(numout,*) 'RESTART: define (XIOS 1D)',trim(cdvar) 
     1632         CALL iom_set_rstw_active( trim(cdvar), rd1 = pvar ) 
    16101633      ENDIF 
    16111634#endif 
     
    16381661      IF( kt == kwrite ) THEN 
    16391662         IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) 
    1640          CALL xios_send_field(trim(cdvar), pvar) 
     1663         CALL iom_put(trim(cdvar), pvar) 
     1664      ELSE 
     1665         IF(lwp) write(numout,*) 'RESTART: define (XIOS 2D)',trim(cdvar) 
     1666         CALL iom_set_rstw_active( trim(cdvar), rs2 = pvar ) 
    16411667      ENDIF 
    16421668#endif 
     
    16681694      IF( kt == kwrite ) THEN 
    16691695         IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) 
    1670          CALL xios_send_field(trim(cdvar), pvar) 
     1696         CALL iom_put(trim(cdvar), pvar) 
     1697      ELSE 
     1698         IF(lwp) write(numout,*) 'RESTART: define (XIOS 2D)',trim(cdvar) 
     1699         CALL iom_set_rstw_active( trim(cdvar), rd2 = pvar ) 
    16711700      ENDIF 
    16721701#endif 
     
    16991728      IF( kt == kwrite ) THEN 
    17001729         IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) 
    1701          CALL xios_send_field(trim(cdvar), pvar) 
     1730         CALL iom_put(trim(cdvar), pvar) 
     1731     ELSE 
     1732         IF(lwp) write(numout,*) 'RESTART: define (XIOS 3D)',trim(cdvar) 
     1733         CALL iom_set_rstw_active( trim(cdvar), rs3 = pvar ) 
    17021734      ENDIF 
    17031735#endif 
     
    17291761      IF( kt == kwrite ) THEN 
    17301762         IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) 
    1731          CALL xios_send_field(trim(cdvar), pvar) 
     1763         CALL iom_put(trim(cdvar), pvar) 
     1764      ELSE 
     1765         IF(lwp) write(numout,*) 'RESTART: define (XIOS 3D)',trim(cdvar) 
     1766         CALL iom_set_rstw_active( trim(cdvar), rd3 = pvar ) 
    17321767      ENDIF 
    17331768#endif 
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/restart.F90

    r13728 r13750  
    116116                  clpname = TRIM(Agrif_CFixed())//"_"//clname    
    117117               ENDIF 
    118                CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname), .false. ) 
    119                CALL xios_update_calendar(nitrst) 
     118               CALL iom_init( cwxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .false. ) 
    120119               CALL iom_swap(      cxios_context          ) 
    121120#else 
     
    221220             ENDIF 
    222221             CALL iom_init( crxios_context, fname = TRIM(clpath)//TRIM(clpname), & 
    223                               idfp = iom_file(numror)%nfid, ld_tmppatch = .TRUE. ) 
     222                              idfp = iom_file(numror)%nfid, ld_closedef = .TRUE. ) 
    224223         ENDIF 
    225224 
     
    261260       
    262261      ! Diurnal DSST  
    263       IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lroxios )  
     262      IF( ln_diurnal ) CALL iom_get( numror, jpdom_auto, 'Dsst' , x_dsst, ldxios = lroxios )  
    264263      IF ( ln_diurnal_only ) THEN  
    265264         IF(lwp) WRITE( numout, * ) & 
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/ISF/isfcpl.F90

    r13727 r13750  
    119119#if ! defined key_qco 
    120120      e3t(:,:,:,Kbb)   = e3t(:,:,:,Kmm) 
    121   
     121#endif  
    122122   END SUBROUTINE isfcpl_init 
    123123   !  
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/ISF/isfpar.F90

    r13728 r13750  
    152152      ! read par variable from restart 
    153153      IF ( ln_rstart ) CALL isfrst_read('par', risf_par_tsc, fwfisf_par, risf_par_tsc_b, fwfisf_par_b) 
    154       !define fields for restart 
    155       IF( lwxios ) THEN 
    156          CALL iom_set_rstw_var_active( 'fwfisf_'//'par'//'_b') 
    157          CALL iom_set_rstw_var_active( 'isf_hc_'//'par'//'_b') 
    158          CALL iom_set_rstw_var_active( 'isf_sc_'//'par'//'_b') 
    159       ENDIF 
    160  
    161154      ! 
    162155      SELECT CASE ( TRIM(cn_isfpar_mlt) ) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/nemogcm.F90

    r13727 r13750  
    437437     CALL Agrif_Declare_Var_ini   !  "      "   "   "      "  DOM 
    438438#endif 
    439                            CALL     dom_init( Nbb, Nnn, Naa, "OPA") ! Domain 
     439                           CALL     dom_init( Nbb, Nnn, Naa ) ! Domain 
    440440      IF( ln_crs       )   CALL     crs_init(      Nnn )       ! coarsened grid: domain initialization  
    441441      IF( sn_cfctl%l_prtctl )   & 
  • NEMO/branches/2020/dev_12905_xios_restart/src/SAS/nemogcm.F90

    r13727 r13750  
    374374     CALL Agrif_Declare_Var_ini   !  "      "   "   "      "  DOM 
    375375#endif 
    376                            CALL dom_init( Nbb, Nnn, Naa, 'SAS') ! Domain 
     376                           CALL dom_init( Nbb, Nnn, Naa ) ! Domain 
    377377      IF( sn_cfctl%l_prtctl )   & 
    378378         &                 CALL prt_ctl_init        ! Print control 
  • NEMO/branches/2020/dev_12905_xios_restart/src/SWE/domain.F90

    r13458 r13750  
    6666CONTAINS 
    6767 
    68    SUBROUTINE dom_init( Kbb, Kmm, Kaa, cdstr ) 
     68   SUBROUTINE dom_init( Kbb, Kmm, Kaa ) 
    6969      !!---------------------------------------------------------------------- 
    7070      !!                  ***  ROUTINE dom_init  *** 
     
    8282      !!---------------------------------------------------------------------- 
    8383      INTEGER          , INTENT(in) :: Kbb, Kmm, Kaa          ! ocean time level indices 
    84       CHARACTER (len=*), INTENT(in) :: cdstr                  ! model: NEMO or SAS. Determines core restart variables 
    8584      ! 
    8685!!st6 
     
    135134      CALL dom_nam                     ! read namelist ( namrun, namdom ) 
    136135      ! 
    137       IF( lwxios ) THEN 
    138 !define names for restart write and set core output (restart.F90) 
    139          CALL iom_set_rst_vars(rst_wfields) 
    140          CALL iom_set_rstw_core(cdstr) 
    141       ENDIF 
    142 !reset namelist for SAS 
    143       IF(cdstr == 'SAS') THEN 
    144          IF(lrxios) THEN 
    145                IF(lwp) write(numout,*) 'Disable reading restart file using XIOS for SAS' 
    146                lrxios = .FALSE. 
    147          ENDIF 
    148       ENDIF 
    149       ! 
    150136      CALL dom_hgr                      ! Horizontal mesh 
    151137 
  • NEMO/branches/2020/dev_12905_xios_restart/src/SWE/nemogcm.F90

    r12983 r13750  
    383383                           CALL     phy_cst         ! Physical constants 
    384384                            
    385                            CALL     dom_init( Nbb, Nnn, Naa, "OPA") ! Domain 
     385                           CALL     dom_init( Nbb, Nnn, Naa ) ! Domain 
    386386 
    387387      IF( sn_cfctl%l_prtctl )   & 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/SED/sedrst.F90

    r13727 r13750  
    9191               clpname = TRIM(Agrif_CFixed())//"_"//clname 
    9292            ENDIF 
    93             CALL iom_init( cwsxios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,& 
    94                                                                          ld_closedef = .FALSE. ) 
     93            CALL iom_init( cwsxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
    9594            CALL iom_swap(      cxios_context          ) 
    9695#else 
     
    392391                ENDIF 
    393392                CALL iom_init( crsxios_context, fname = TRIM(cn_sedrst_indir)//'/'//TRIM(clpname), & 
    394                                                 idfp = iom_file(numrsr)%nfid, ld_tmppatch = .TRUE. ) 
     393                                                idfp = iom_file(numrsr)%nfid, ld_closedef = .TRUE. ) 
    395394            ENDIF 
    396395            IF(lrsxios) CALL iom_swap(crsxios_context) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/TOP/trcrst.F90

    r13727 r13750  
    102102               clpname = TRIM(Agrif_CFixed())//"_"//clname 
    103103            ENDIF 
    104             CALL iom_init( cwtxios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,& 
    105                                                                          ld_closedef = .FALSE. ) 
     104            CALL iom_init( cwtxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
    106105            CALL iom_swap(      cxios_context          ) 
    107106#else 
     
    245244                ENDIF 
    246245                CALL iom_init( crtxios_context, fname = TRIM(cn_trcrst_indir)//'/'//TRIM(clpname), & 
    247                                           idfp = iom_file(numrtr)%nfid, ld_tmppatch = .TRUE. ) 
     246                                          idfp = iom_file(numrtr)%nfid, ld_closedef = .TRUE. ) 
    248247            ENDIF 
    249248 
  • NEMO/branches/2020/dev_12905_xios_restart/tests/VORTEX/MY_SRC/domvvl.F90

    r13727 r13750  
    786786            CALL rst_read_open                  !  open the restart file if necessary 
    787787            IF( lroxios ) CALL iom_swap( TRIM(crxios_context) ) 
    788             CALL iom_get( numror, jpdom_autoglo, 'sshn'   , ssh(:,:,Kmm), ldxios = lroxios    ) 
     788            CALL iom_get( numror, jpdom_auto, 'sshn'   , ssh(:,:,Kmm), ldxios = lroxios    ) 
    789789            ! 
    790790            id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) 
Note: See TracChangeset for help on using the changeset viewer.