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 13871 for NEMO/branches/2020/dev_12905_xios_restart/src/ICE – NEMO

Ignore:
Timestamp:
2020-11-25T12:51:29+01:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2462: Addressing reviewr comments stage 1

Location:
NEMO/branches/2020/dev_12905_xios_restart/src/ICE
Files:
7 edited

Legend:

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

    r13727 r13871  
    179179   LOGICAL , PUBLIC ::   ln_cndflx        !: use conduction flux as surface boundary condition (instead of qsr and qns)  
    180180   LOGICAL , PUBLIC ::   ln_cndemulate    !: emulate conduction flux (if not provided)  
    181    LOGICAL , PUBLIC ::   lrixios          !: use xios to read restart in SI3 
    182181   !                                      ! Conduction flux as surface forcing or not 
    183182   INTEGER, PUBLIC, PARAMETER ::   np_cnd_OFF = 0  !: no forcing from conduction flux (ice thermodynamics forced via qsr and qns) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icedia.F90

    r13727 r13871  
    221221         IF( ln_rstart ) THEN                   !* Read the restart file 
    222222            ! 
    223             IF(lrixios) CALL iom_swap(crixios_context) 
    224             CALL iom_get( numrir, 'kt_ice' , ziter, ldxios = lrixios ) 
     223            IF(lrxios) CALL iom_swap(cr_icerst_cxt) 
     224            CALL iom_get( numrir, 'kt_ice' , ziter, ldxios = lrxios ) 
    225225            IF(lwp) WRITE(numout,*) 
    226226            IF(lwp) WRITE(numout,*) 'ice_dia_rst read at time step = ', ziter 
    227227            IF(lwp) WRITE(numout,*) '~~~~~~~~~~' 
    228             CALL iom_get( numrir, 'frc_voltop' , frc_voltop, ldxios = lrixios  ) 
    229             CALL iom_get( numrir, 'frc_volbot' , frc_volbot, ldxios = lrixios  ) 
    230             CALL iom_get( numrir, 'frc_temtop' , frc_temtop, ldxios = lrixios  ) 
    231             CALL iom_get( numrir, 'frc_tembot' , frc_tembot, ldxios = lrixios  ) 
    232             CALL iom_get( numrir, 'frc_sal'    , frc_sal,    ldxios = lrixios  ) 
    233             CALL iom_get( numrir, jpdom_auto, 'vol_loc_ini', vol_loc_ini, ldxios = lrixios ) 
    234             CALL iom_get( numrir, jpdom_auto, 'tem_loc_ini', tem_loc_ini, ldxios = lrixios ) 
    235             CALL iom_get( numrir, jpdom_auto, 'sal_loc_ini', sal_loc_ini, ldxios = lrixios ) 
    236             IF(lrixios) CALL iom_swap(cxios_context) 
     228            CALL iom_get( numrir, 'frc_voltop' , frc_voltop, ldxios = lrxios  ) 
     229            CALL iom_get( numrir, 'frc_volbot' , frc_volbot, ldxios = lrxios  ) 
     230            CALL iom_get( numrir, 'frc_temtop' , frc_temtop, ldxios = lrxios  ) 
     231            CALL iom_get( numrir, 'frc_tembot' , frc_tembot, ldxios = lrxios  ) 
     232            CALL iom_get( numrir, 'frc_sal'    , frc_sal,    ldxios = lrxios  ) 
     233            CALL iom_get( numrir, jpdom_auto, 'vol_loc_ini', vol_loc_ini, ldxios = lrxios ) 
     234            CALL iom_get( numrir, jpdom_auto, 'tem_loc_ini', tem_loc_ini, ldxios = lrxios ) 
     235            CALL iom_get( numrir, jpdom_auto, 'sal_loc_ini', sal_loc_ini, ldxios = lrxios ) 
     236            IF(lrxios) CALL iom_swap(cxios_context) 
    237237         ELSE 
    238238            IF(lwp) WRITE(numout,*) 
     
    263263         ! Write in numriw (if iter == nitrst) 
    264264         ! ------------------  
    265          IF( lwxios ) CALL iom_swap(      cwixios_context         ) 
     265         IF( lwxios ) CALL iom_swap(      cw_icerst_cxt         ) 
    266266         CALL iom_rstput( iter, nitrst, numriw, 'frc_voltop' , frc_voltop,  ldxios = lwxios ) 
    267267         CALL iom_rstput( iter, nitrst, numriw, 'frc_volbot' , frc_volbot,  ldxios = lwxios ) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icedyn_adv_pra.F90

    r13727 r13871  
    955955         ! 
    956956         IF( id1 > 0 ) THEN                     !**  Read the restart file  **! 
    957             IF(lrixios) CALL iom_swap(crixios_context) 
     957            IF(lrxios) CALL iom_swap(cr_icerst_cxt) 
    958958            ! 
    959959            !                                                        ! ice thickness 
    960             CALL iom_get( numrir, jpdom_auto, 'sxice' , sxice , psgn = -1._wp, ldxios = lrixios ) 
    961             CALL iom_get( numrir, jpdom_auto, 'syice' , syice , psgn = -1._wp, ldxios = lrixios ) 
    962             CALL iom_get( numrir, jpdom_auto, 'sxxice', sxxice, ldxios = lrixios ) 
    963             CALL iom_get( numrir, jpdom_auto, 'syyice', syyice, ldxios = lrixios ) 
    964             CALL iom_get( numrir, jpdom_auto, 'sxyice', sxyice, ldxios = lrixios ) 
     960            CALL iom_get( numrir, jpdom_auto, 'sxice' , sxice , psgn = -1._wp, ldxios = lrxios ) 
     961            CALL iom_get( numrir, jpdom_auto, 'syice' , syice , psgn = -1._wp, ldxios = lrxios ) 
     962            CALL iom_get( numrir, jpdom_auto, 'sxxice', sxxice, ldxios = lrxios ) 
     963            CALL iom_get( numrir, jpdom_auto, 'syyice', syyice, ldxios = lrxios ) 
     964            CALL iom_get( numrir, jpdom_auto, 'sxyice', sxyice, ldxios = lrxios ) 
    965965            !                                                        ! snow thickness 
    966             CALL iom_get( numrir, jpdom_auto, 'sxsn'  , sxsn  , psgn = -1._wp, ldxios = lrixios ) 
    967             CALL iom_get( numrir, jpdom_auto, 'sysn'  , sysn  , psgn = -1._wp, ldxios = lrixios ) 
    968             CALL iom_get( numrir, jpdom_auto, 'sxxsn' , sxxsn, ldxios = lrixios  ) 
    969             CALL iom_get( numrir, jpdom_auto, 'syysn' , syysn, ldxios = lrixios  ) 
    970             CALL iom_get( numrir, jpdom_auto, 'sxysn' , sxysn, ldxios = lrixios  ) 
     966            CALL iom_get( numrir, jpdom_auto, 'sxsn'  , sxsn  , psgn = -1._wp, ldxios = lrxios ) 
     967            CALL iom_get( numrir, jpdom_auto, 'sysn'  , sysn  , psgn = -1._wp, ldxios = lrxios ) 
     968            CALL iom_get( numrir, jpdom_auto, 'sxxsn' , sxxsn, ldxios = lrxios  ) 
     969            CALL iom_get( numrir, jpdom_auto, 'syysn' , syysn, ldxios = lrxios  ) 
     970            CALL iom_get( numrir, jpdom_auto, 'sxysn' , sxysn, ldxios = lrxios  ) 
    971971            !                                                        ! ice concentration 
    972             CALL iom_get( numrir, jpdom_auto, 'sxa'   , sxa   , psgn = -1._wp, ldxios = lrixios ) 
    973             CALL iom_get( numrir, jpdom_auto, 'sya'   , sya   , psgn = -1._wp, ldxios = lrixios ) 
    974             CALL iom_get( numrir, jpdom_auto, 'sxxa'  , sxxa, ldxios = lrixios   ) 
    975             CALL iom_get( numrir, jpdom_auto, 'syya'  , syya, ldxios = lrixios   ) 
    976             CALL iom_get( numrir, jpdom_auto, 'sxya'  , sxya, ldxios = lrixios   ) 
     972            CALL iom_get( numrir, jpdom_auto, 'sxa'   , sxa   , psgn = -1._wp, ldxios = lrxios ) 
     973            CALL iom_get( numrir, jpdom_auto, 'sya'   , sya   , psgn = -1._wp, ldxios = lrxios ) 
     974            CALL iom_get( numrir, jpdom_auto, 'sxxa'  , sxxa, ldxios = lrxios   ) 
     975            CALL iom_get( numrir, jpdom_auto, 'syya'  , syya, ldxios = lrxios   ) 
     976            CALL iom_get( numrir, jpdom_auto, 'sxya'  , sxya, ldxios = lrxios   ) 
    977977            !                                                        ! ice salinity 
    978             CALL iom_get( numrir, jpdom_auto, 'sxsal' , sxsal , psgn = -1._wp, ldxios = lrixios ) 
    979             CALL iom_get( numrir, jpdom_auto, 'sysal' , sysal , psgn = -1._wp, ldxios = lrixios ) 
    980             CALL iom_get( numrir, jpdom_auto, 'sxxsal', sxxsal, ldxios = lrixios ) 
    981             CALL iom_get( numrir, jpdom_auto, 'syysal', syysal, ldxios = lrixios ) 
    982             CALL iom_get( numrir, jpdom_auto, 'sxysal', sxysal, ldxios = lrixios ) 
     978            CALL iom_get( numrir, jpdom_auto, 'sxsal' , sxsal , psgn = -1._wp, ldxios = lrxios ) 
     979            CALL iom_get( numrir, jpdom_auto, 'sysal' , sysal , psgn = -1._wp, ldxios = lrxios ) 
     980            CALL iom_get( numrir, jpdom_auto, 'sxxsal', sxxsal, ldxios = lrxios ) 
     981            CALL iom_get( numrir, jpdom_auto, 'syysal', syysal, ldxios = lrxios ) 
     982            CALL iom_get( numrir, jpdom_auto, 'sxysal', sxysal, ldxios = lrxios ) 
    983983            !                                                        ! ice age 
    984             CALL iom_get( numrir, jpdom_auto, 'sxage' , sxage , psgn = -1._wp, ldxios = lrixios ) 
    985             CALL iom_get( numrir, jpdom_auto, 'syage' , syage , psgn = -1._wp, ldxios = lrixios ) 
    986             CALL iom_get( numrir, jpdom_auto, 'sxxage', sxxage, ldxios = lrixios ) 
    987             CALL iom_get( numrir, jpdom_auto, 'syyage', syyage, ldxios = lrixios ) 
    988             CALL iom_get( numrir, jpdom_auto, 'sxyage', sxyage, ldxios = lrixios ) 
     984            CALL iom_get( numrir, jpdom_auto, 'sxage' , sxage , psgn = -1._wp, ldxios = lrxios ) 
     985            CALL iom_get( numrir, jpdom_auto, 'syage' , syage , psgn = -1._wp, ldxios = lrxios ) 
     986            CALL iom_get( numrir, jpdom_auto, 'sxxage', sxxage, ldxios = lrxios ) 
     987            CALL iom_get( numrir, jpdom_auto, 'syyage', syyage, ldxios = lrxios ) 
     988            CALL iom_get( numrir, jpdom_auto, 'sxyage', sxyage, ldxios = lrxios ) 
    989989            !                                                        ! snow layers heat content 
    990990            DO jk = 1, nlay_s 
    991991               WRITE(zchar1,'(I2.2)') jk 
    992992               znam = 'sxc0'//'_l'//zchar1   
    993                CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrixios )   ;   sxc0 (:,:,jk,:) = z3d(:,:,:) 
     993               CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrxios )   ;   sxc0 (:,:,jk,:) = z3d(:,:,:) 
    994994               znam = 'syc0'//'_l'//zchar1   
    995                CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrixios )   ;   syc0 (:,:,jk,:) = z3d(:,:,:) 
     995               CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrxios )   ;   syc0 (:,:,jk,:) = z3d(:,:,:) 
    996996               znam = 'sxxc0'//'_l'//zchar1  
    997                CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios )   ;   sxxc0(:,:,jk,:) = z3d(:,:,:) 
     997               CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios )   ;   sxxc0(:,:,jk,:) = z3d(:,:,:) 
    998998               znam = 'syyc0'//'_l'//zchar1  
    999                CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios )   ;   syyc0(:,:,jk,:) = z3d(:,:,:) 
     999               CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios )   ;   syyc0(:,:,jk,:) = z3d(:,:,:) 
    10001000               znam = 'sxyc0'//'_l'//zchar1  
    1001                CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios )   ;   sxyc0(:,:,jk,:) = z3d(:,:,:) 
     1001               CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios )   ;   sxyc0(:,:,jk,:) = z3d(:,:,:) 
    10021002            END DO 
    10031003            !                                                        ! ice layers heat content 
     
    10051005               WRITE(zchar1,'(I2.2)') jk 
    10061006               znam = 'sxe'//'_l'//zchar1    
    1007                CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrixios )   ;   sxe (:,:,jk,:) = z3d(:,:,:) 
     1007               CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrxios )   ;   sxe (:,:,jk,:) = z3d(:,:,:) 
    10081008               znam = 'sye'//'_l'//zchar1    
    1009                CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrixios )   ;   sye (:,:,jk,:) = z3d(:,:,:) 
     1009               CALL iom_get( numrir, jpdom_auto, znam , z3d, psgn = -1._wp, ldxios = lrxios )   ;   sye (:,:,jk,:) = z3d(:,:,:) 
    10101010               znam = 'sxxe'//'_l'//zchar1   
    1011                CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios )   ;   sxxe(:,:,jk,:) = z3d(:,:,:) 
     1011               CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios )   ;   sxxe(:,:,jk,:) = z3d(:,:,:) 
    10121012               znam = 'syye'//'_l'//zchar1   
    1013                CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios )   ;   syye(:,:,jk,:) = z3d(:,:,:) 
     1013               CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios )   ;   syye(:,:,jk,:) = z3d(:,:,:) 
    10141014               znam = 'sxye'//'_l'//zchar1   
    1015                CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios )   ;   sxye(:,:,jk,:) = z3d(:,:,:) 
     1015               CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios )   ;   sxye(:,:,jk,:) = z3d(:,:,:) 
    10161016            END DO 
    10171017            ! 
    10181018            IF( ln_pnd_LEV ) THEN                                    ! melt pond fraction 
    10191019               IF( iom_varid( numrir, 'sxap', ldstop = .FALSE. ) > 0 ) THEN 
    1020                   CALL iom_get( numrir, jpdom_auto, 'sxap' , sxap , psgn = -1._wp, ldxios = lrixios ) 
    1021                   CALL iom_get( numrir, jpdom_auto, 'syap' , syap , psgn = -1._wp, ldxios = lrixios ) 
    1022                   CALL iom_get( numrir, jpdom_auto, 'sxxap', sxxap, ldxios = lrixios ) 
    1023                   CALL iom_get( numrir, jpdom_auto, 'syyap', syyap, ldxios = lrixios ) 
    1024                   CALL iom_get( numrir, jpdom_auto, 'sxyap', sxyap, ldxios = lrixios ) 
     1020                  CALL iom_get( numrir, jpdom_auto, 'sxap' , sxap , psgn = -1._wp, ldxios = lrxios ) 
     1021                  CALL iom_get( numrir, jpdom_auto, 'syap' , syap , psgn = -1._wp, ldxios = lrxios ) 
     1022                  CALL iom_get( numrir, jpdom_auto, 'sxxap', sxxap, ldxios = lrxios ) 
     1023                  CALL iom_get( numrir, jpdom_auto, 'syyap', syyap, ldxios = lrxios ) 
     1024                  CALL iom_get( numrir, jpdom_auto, 'sxyap', sxyap, ldxios = lrxios ) 
    10251025                  !                                                     ! melt pond volume 
    1026                   CALL iom_get( numrir, jpdom_auto, 'sxvp' , sxvp , psgn = -1._wp, ldxios = lrixios ) 
    1027                   CALL iom_get( numrir, jpdom_auto, 'syvp' , syvp , psgn = -1._wp, ldxios = lrixios ) 
    1028                   CALL iom_get( numrir, jpdom_auto, 'sxxvp', sxxvp, ldxios = lrixios ) 
    1029                   CALL iom_get( numrir, jpdom_auto, 'syyvp', syyvp, ldxios = lrixios ) 
    1030                   CALL iom_get( numrir, jpdom_auto, 'sxyvp', sxyvp, ldxios = lrixios ) 
     1026                  CALL iom_get( numrir, jpdom_auto, 'sxvp' , sxvp , psgn = -1._wp, ldxios = lrxios ) 
     1027                  CALL iom_get( numrir, jpdom_auto, 'syvp' , syvp , psgn = -1._wp, ldxios = lrxios ) 
     1028                  CALL iom_get( numrir, jpdom_auto, 'sxxvp', sxxvp, ldxios = lrxios ) 
     1029                  CALL iom_get( numrir, jpdom_auto, 'syyvp', syyvp, ldxios = lrxios ) 
     1030                  CALL iom_get( numrir, jpdom_auto, 'sxyvp', sxyvp, ldxios = lrxios ) 
    10311031               ELSE 
    10321032                  sxap = 0._wp ;   syap = 0._wp    ;   sxxap = 0._wp    ;   syyap = 0._wp    ;   sxyap = 0._wp   ! melt pond fraction 
     
    10361036               IF ( ln_pnd_lids ) THEN                               ! melt pond lid volume 
    10371037                  IF( iom_varid( numrir, 'sxvl', ldstop = .FALSE. ) > 0 ) THEN 
    1038                      CALL iom_get( numrir, jpdom_auto, 'sxvl' , sxvl , psgn = -1._wp, ldxios = lrixios ) 
    1039                      CALL iom_get( numrir, jpdom_auto, 'syvl' , syvl , psgn = -1._wp, ldxios = lrixios ) 
    1040                      CALL iom_get( numrir, jpdom_auto, 'sxxvl', sxxvl, ldxios = lrixios ) 
    1041                      CALL iom_get( numrir, jpdom_auto, 'syyvl', syyvl, ldxios = lrixios ) 
    1042                      CALL iom_get( numrir, jpdom_auto, 'sxyvl', sxyvl, ldxios = lrixios ) 
     1038                     CALL iom_get( numrir, jpdom_auto, 'sxvl' , sxvl , psgn = -1._wp, ldxios = lrxios ) 
     1039                     CALL iom_get( numrir, jpdom_auto, 'syvl' , syvl , psgn = -1._wp, ldxios = lrxios ) 
     1040                     CALL iom_get( numrir, jpdom_auto, 'sxxvl', sxxvl, ldxios = lrxios ) 
     1041                     CALL iom_get( numrir, jpdom_auto, 'syyvl', syyvl, ldxios = lrxios ) 
     1042                     CALL iom_get( numrir, jpdom_auto, 'sxyvl', sxyvl, ldxios = lrxios ) 
    10431043                  ELSE 
    10441044                     sxvl = 0._wp; syvl = 0._wp    ;   sxxvl = 0._wp    ;   syyvl = 0._wp    ;   sxyvl = 0._wp   ! melt pond lid volume 
     
    10461046               ENDIF 
    10471047            ENDIF 
    1048             IF(lrixios) CALL iom_swap(cxios_context) 
     1048            IF(lrxios) CALL iom_swap(cxios_context) 
    10491049            ! 
    10501050         ELSE                                   !**  start rheology from rest  **! 
     
    10791079         ! 
    10801080         !                                                           ! ice thickness 
    1081          IF( lwxios ) CALL iom_swap(      cwixios_context         ) 
     1081         IF( lwxios ) CALL iom_swap(      cw_icerst_cxt         ) 
    10821082         CALL iom_rstput( iter, nitrst, numriw, 'sxice' , sxice,  ldxios = lwxios) 
    10831083         CALL iom_rstput( iter, nitrst, numriw, 'syice' , syice,  ldxios = lwxios) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icedyn_rhg_evp.F90

    r13727 r13871  
    10051005         IF( ln_rstart ) THEN                   !* Read the restart file 
    10061006            ! 
    1007             IF(lrixios) CALL iom_swap(crixios_context) 
     1007            IF(lrxios) CALL iom_swap(cr_icerst_cxt) 
    10081008            id1 = iom_varid( numrir, 'stress1_i' , ldstop = .FALSE. ) 
    10091009            id2 = iom_varid( numrir, 'stress2_i' , ldstop = .FALSE. ) 
     
    10111011            ! 
    10121012            IF( MIN( id1, id2, id3 ) > 0 ) THEN      ! fields exist 
    1013                CALL iom_get( numrir, jpdom_auto, 'stress1_i' , stress1_i , cd_type = 'T', ldxios = lrixios ) 
    1014                CALL iom_get( numrir, jpdom_auto, 'stress2_i' , stress2_i , cd_type = 'T', ldxios = lrixios ) 
    1015                CALL iom_get( numrir, jpdom_auto, 'stress12_i', stress12_i, cd_type = 'F', ldxios = lrixios ) 
     1013               CALL iom_get( numrir, jpdom_auto, 'stress1_i' , stress1_i , cd_type = 'T', ldxios = lrxios ) 
     1014               CALL iom_get( numrir, jpdom_auto, 'stress2_i' , stress2_i , cd_type = 'T', ldxios = lrxios ) 
     1015               CALL iom_get( numrir, jpdom_auto, 'stress12_i', stress12_i, cd_type = 'F', ldxios = lrxios ) 
    10161016            ELSE                                     ! start rheology from rest 
    10171017               IF(lwp) WRITE(numout,*) 
     
    10211021               stress12_i(:,:) = 0._wp 
    10221022            ENDIF 
    1023             IF(lrixios) CALL iom_swap(cxios_context) 
     1023            IF(lrxios) CALL iom_swap(cxios_context) 
    10241024         ELSE                                   !* Start from rest 
    10251025            IF(lwp) WRITE(numout,*) 
     
    10351035         iter = kt + nn_fsbc - 1             ! ice restarts are written at kt == nitrst - nn_fsbc + 1 
    10361036         ! 
    1037          IF( lwxios ) CALL iom_swap(      cwixios_context         ) 
     1037         IF( lwxios ) CALL iom_swap(      cw_icerst_cxt         ) 
    10381038         CALL iom_rstput( iter, nitrst, numriw, 'stress1_i' , stress1_i,  ldxios = lwxios ) 
    10391039         CALL iom_rstput( iter, nitrst, numriw, 'stress2_i' , stress2_i,  ldxios = lwxios ) 
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icerst.F90

    r13750 r13871  
    8989            ELSE 
    9090#if defined key_iomput 
    91                cwixios_context = "rstwi_"//TRIM(ADJUSTL(clkt)) 
     91               cw_icerst_cxt = "rstwi_"//TRIM(ADJUSTL(clkt)) 
    9292               IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
    9393                  clpname = clname 
     
    9595                  clpname = TRIM(Agrif_CFixed())//"_"//clname 
    9696               ENDIF 
    97                CALL iom_init( cwixios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
     97               CALL iom_init( cw_icerst_cxt, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 
    9898               CALL iom_swap(      cxios_context          ) 
    9999#else 
     
    138138      ! ------------------  
    139139      !                                                                        ! calendar control 
    140       IF( lwxios ) CALL iom_swap(      cwixios_context         ) 
     140      IF( lwxios ) CALL iom_swap(      cw_icerst_cxt         ) 
    141141      CALL iom_rstput( iter, nitrst, numriw, 'nn_fsbc', REAL( nn_fsbc, wp ), ldxios = lwxios )      ! time-step  
    142142      CALL iom_rstput( iter, nitrst, numriw, 'kt_ice' , REAL( iter   , wp ), ldxios = lwxios )      ! date 
     
    183183            CALL iom_close( numriw ) 
    184184         ELSE 
    185             CALL iom_context_finalize(      cwixios_context          ) 
     185            CALL iom_context_finalize(      cw_icerst_cxt          ) 
    186186         ENDIF 
    187187         lrst_ice = .FALSE. 
     
    217217      CALL iom_open ( TRIM(cn_icerst_indir)//'/'//cn_icerst_in, numrir ) 
    218218 
    219       lrixios = lrxios.AND.lxios_sini 
    220       IF( lrixios) THEN 
    221           crixios_context = 'si3_rst' 
     219      IF( lrxios) THEN 
     220          cr_icerst_cxt = 'si3_rst' 
    222221          IF(lwp) WRITE(numout,*) 'Enable restart reading by XIOS for SI3' 
    223222          IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
     
    226225             clpname = TRIM(Agrif_CFixed())//"_"//cn_icerst_in    
    227226          ENDIF 
    228           CALL iom_init( crixios_context, fname = TRIM(cn_icerst_indir)//'/'//TRIM(clpname), & 
     227          CALL iom_init( cr_icerst_cxt, fname = TRIM(cn_icerst_indir)//'/'//TRIM(clpname), & 
    229228                                          idfp = iom_file(numrir)%nfid, ld_closedef = .TRUE. ) 
    230229      ENDIF 
     
    236235      IF( id0 > 0 ) THEN   ! == case of a normal restart == ! 
    237236         !                 ! ------------------------------ ! 
    238          IF(lrixios) CALL iom_swap(crixios_context)  
     237         IF(lrxios) CALL iom_swap(cr_icerst_cxt)  
    239238         ! Time info 
    240          CALL iom_get( numrir, 'nn_fsbc', zfice, ldxios = lrixios ) 
    241          CALL iom_get( numrir, 'kt_ice' , ziter, ldxios = lrixios )     
     239         CALL iom_get( numrir, 'nn_fsbc', zfice, ldxios = lrxios ) 
     240         CALL iom_get( numrir, 'kt_ice' , ziter, ldxios = lrxios )     
    242241         IF(lwp) WRITE(numout,*) '   read ice restart file at time step    : ', ziter 
    243242         IF(lwp) WRITE(numout,*) '   in any case we force it to nit000 - 1 : ', nit000 - 1 
     
    254253 
    255254         ! --- mandatory fields --- !  
    256          CALL iom_get( numrir, jpdom_auto, 'v_i'  , v_i  , ldxios = lrixios ) 
    257          CALL iom_get( numrir, jpdom_auto, 'v_s'  , v_s  , ldxios = lrixios ) 
    258          CALL iom_get( numrir, jpdom_auto, 'sv_i' , sv_i , ldxios = lrixios ) 
    259          CALL iom_get( numrir, jpdom_auto, 'a_i'  , a_i  , ldxios = lrixios ) 
    260          CALL iom_get( numrir, jpdom_auto, 't_su' , t_su , ldxios = lrixios ) 
    261          CALL iom_get( numrir, jpdom_auto, 'u_ice', u_ice, cd_type = 'U', psgn = -1._wp, ldxios = lrixios ) 
    262          CALL iom_get( numrir, jpdom_auto, 'v_ice', v_ice, cd_type = 'V', psgn = -1._wp, ldxios = lrixios ) 
     255         CALL iom_get( numrir, jpdom_auto, 'v_i'  , v_i  , ldxios = lrxios ) 
     256         CALL iom_get( numrir, jpdom_auto, 'v_s'  , v_s  , ldxios = lrxios ) 
     257         CALL iom_get( numrir, jpdom_auto, 'sv_i' , sv_i , ldxios = lrxios ) 
     258         CALL iom_get( numrir, jpdom_auto, 'a_i'  , a_i  , ldxios = lrxios ) 
     259         CALL iom_get( numrir, jpdom_auto, 't_su' , t_su , ldxios = lrxios ) 
     260         CALL iom_get( numrir, jpdom_auto, 'u_ice', u_ice, cd_type = 'U', psgn = -1._wp, ldxios = lrxios ) 
     261         CALL iom_get( numrir, jpdom_auto, 'v_ice', v_ice, cd_type = 'V', psgn = -1._wp, ldxios = lrxios ) 
    263262         ! Snow enthalpy 
    264263         DO jk = 1, nlay_s 
    265264            WRITE(zchar1,'(I2.2)') jk 
    266265            znam = 'e_s'//'_l'//zchar1 
    267             CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios ) 
     266            CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios ) 
    268267            e_s(:,:,jk,:) = z3d(:,:,:) 
    269268         END DO 
     
    272271            WRITE(zchar1,'(I2.2)') jk 
    273272            znam = 'e_i'//'_l'//zchar1 
    274             CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrixios ) 
     273            CALL iom_get( numrir, jpdom_auto, znam , z3d, ldxios = lrxios ) 
    275274            e_i(:,:,jk,:) = z3d(:,:,:) 
    276275         END DO 
     
    279278         id1 = iom_varid( numrir, 'oa_i' , ldstop = .FALSE. ) 
    280279         IF( id1 > 0 ) THEN                       ! fields exist 
    281             CALL iom_get( numrir, jpdom_auto, 'oa_i', oa_i, ldxios = lrixios ) 
     280            CALL iom_get( numrir, jpdom_auto, 'oa_i', oa_i, ldxios = lrxios ) 
    282281         ELSE                                     ! start from rest 
    283282            IF(lwp) WRITE(numout,*) '   ==>>   previous run without ice age output then set it to zero' 
     
    287286         id2 = iom_varid( numrir, 'a_ip' , ldstop = .FALSE. ) 
    288287         IF( id2 > 0 ) THEN                       ! fields exist 
    289             CALL iom_get( numrir, jpdom_auto, 'a_ip' , a_ip, ldxios = lrixios ) 
    290             CALL iom_get( numrir, jpdom_auto, 'v_ip' , v_ip, ldxios = lrixios ) 
     288            CALL iom_get( numrir, jpdom_auto, 'a_ip' , a_ip, ldxios = lrxios ) 
     289            CALL iom_get( numrir, jpdom_auto, 'v_ip' , v_ip, ldxios = lrxios ) 
    291290         ELSE                                     ! start from rest 
    292291            IF(lwp) WRITE(numout,*) '   ==>>   previous run without melt ponds output then set it to zero' 
     
    297296         id3 = iom_varid( numrir, 'v_il' , ldstop = .FALSE. ) 
    298297         IF( id3 > 0 ) THEN 
    299             CALL iom_get( numrir, jpdom_auto, 'v_il', v_il, ldxios = lrixios) 
     298            CALL iom_get( numrir, jpdom_auto, 'v_il', v_il, ldxios = lrxios) 
    300299         ELSE 
    301300            IF(lwp) WRITE(numout,*) '   ==>>   previous run without melt ponds lids output then set it to zero' 
     
    307306            id5 = iom_varid( numrir, 't1_ice'  , ldstop = .FALSE. ) 
    308307            IF( id4 > 0 .AND. id5 > 0 ) THEN         ! fields exist 
    309                CALL iom_get( numrir, jpdom_auto, 'cnd_ice', cnd_ice, ldxios = lrixios ) 
    310                CALL iom_get( numrir, jpdom_auto, 't1_ice' , t1_ice , ldxios = lrixios ) 
     308               CALL iom_get( numrir, jpdom_auto, 'cnd_ice', cnd_ice, ldxios = lrxios ) 
     309               CALL iom_get( numrir, jpdom_auto, 't1_ice' , t1_ice , ldxios = lrxios ) 
    311310            ELSE                                     ! start from rest 
    312311               IF(lwp) WRITE(numout,*) '   ==>>   previous run without conductivity output then set it to zero' 
     
    317316 
    318317         CALL iom_delay_rst( 'READ', 'ICE', numrir )   ! read only ice delayed global communication variables 
    319          IF(lrixios) CALL iom_swap(cxios_context) 
     318         IF(lrxios) CALL iom_swap(cxios_context) 
    320319         !                 ! ---------------------------------- ! 
    321320      ELSE                 ! == case of a simplified restart == ! 
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icestp.F90

    r13727 r13871  
    293293      IF( ln_rstart )  THEN 
    294294          CALL iom_close( numrir )  ! close input ice restart file 
    295           IF(lrixios) CALL iom_context_finalize(      crixios_context         ) 
     295          IF(lrxios) CALL iom_context_finalize(      cr_icerst_cxt         ) 
    296296      ENDIF 
    297297      ! 
  • NEMO/branches/2020/dev_12905_xios_restart/src/ICE/iceupdate.F90

    r13727 r13871  
    427427            ! 
    428428            IF( id1 > 0 ) THEN                       ! fields exist 
    429                IF(lrixios) CALL iom_swap(crixios_context) 
    430                CALL iom_get( numrir, jpdom_auto, 'snwice_mass'  , snwice_mass  , ldxios = lrixios ) 
    431                CALL iom_get( numrir, jpdom_auto, 'snwice_mass_b', snwice_mass_b, ldxios = lrixios ) 
    432                IF(lrixios) CALL iom_swap(cxios_context) 
     429               IF(lrxios) CALL iom_swap(cr_icerst_cxt) 
     430               CALL iom_get( numrir, jpdom_auto, 'snwice_mass'  , snwice_mass  , ldxios = lrxios ) 
     431               CALL iom_get( numrir, jpdom_auto, 'snwice_mass_b', snwice_mass_b, ldxios = lrxios ) 
     432               IF(lrxios) CALL iom_swap(cxios_context) 
    433433            ELSE                                     ! start from rest 
    434434               IF(lwp) WRITE(numout,*) '   ==>>   previous run without snow-ice mass output then set it' 
     
    447447         iter = kt + nn_fsbc - 1             ! ice restarts are written at kt == nitrst - nn_fsbc + 1 
    448448         ! 
    449          IF( lwxios ) CALL iom_swap(      cwixios_context         ) 
     449         IF( lwxios ) CALL iom_swap(      cw_icerst_cxt         ) 
    450450         CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass'  , snwice_mass,   ldxios = lwxios ) 
    451451         CALL iom_rstput( iter, nitrst, numriw, 'snwice_mass_b', snwice_mass_b, ldxios = lwxios ) 
Note: See TracChangeset for help on using the changeset viewer.