Changeset 12738


Ignore:
Timestamp:
2020-04-11T15:38:38+02:00 (7 months ago)
Author:
smasson
Message:

Extra_Halo: iom cleaning/update to work only with unknown, global or local (without halos) domains, see #2366

Location:
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo
Files:
63 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ABL/ablrst.F90

    r11945 r12738  
    165165 
    166166      ! --- mandatory fields --- !  
    167       CALL iom_get( numrar, jpdom_autoglo,   'u_abl',   u_abl(:,:,:,nt_n      ) ) 
    168       CALL iom_get( numrar, jpdom_autoglo,   'v_abl',   v_abl(:,:,:,nt_n      ) ) 
    169       CALL iom_get( numrar, jpdom_autoglo,   't_abl',  tq_abl(:,:,:,nt_n,jp_ta) ) 
    170       CALL iom_get( numrar, jpdom_autoglo,   'q_abl',  tq_abl(:,:,:,nt_n,jp_qa) ) 
    171       CALL iom_get( numrar, jpdom_autoglo, 'tke_abl', tke_abl(:,:,:,nt_n      ) ) 
    172       CALL iom_get( numrar, jpdom_autoglo, 'avm_abl', avm_abl(:,:,:           ) ) 
    173       CALL iom_get( numrar, jpdom_autoglo, 'avt_abl', avt_abl(:,:,:           ) ) 
    174       CALL iom_get( numrar, jpdom_autoglo, 'mxl_abl', mxl_abl(:,:,:           ) ) 
    175       CALL iom_get( numrar, jpdom_autoglo,    'pblh',    pblh(:,:             ) ) 
     167      CALL iom_get( numrar, jpdom_auto,   'u_abl',   u_abl(:,:,:,nt_n      ), cd_type = 'U', psgn = -1._wp ) 
     168      CALL iom_get( numrar, jpdom_auto,   'v_abl',   v_abl(:,:,:,nt_n      ), cd_type = 'V', psgn = -1._wp ) 
     169      CALL iom_get( numrar, jpdom_auto,   't_abl',  tq_abl(:,:,:,nt_n,jp_ta) ) 
     170      CALL iom_get( numrar, jpdom_auto,   'q_abl',  tq_abl(:,:,:,nt_n,jp_qa) ) 
     171      CALL iom_get( numrar, jpdom_auto, 'tke_abl', tke_abl(:,:,:,nt_n      ) ) 
     172      CALL iom_get( numrar, jpdom_auto, 'avm_abl', avm_abl(:,:,:           ) ) 
     173      CALL iom_get( numrar, jpdom_auto, 'avt_abl', avt_abl(:,:,:           ) ) 
     174      CALL iom_get( numrar, jpdom_auto, 'mxl_abl', mxl_abl(:,:,:           ) ) 
     175      CALL iom_get( numrar, jpdom_auto,    'pblh',    pblh(:,:             ) ) 
    176176      CALL iom_delay_rst( 'READ', 'ABL', numrar )   ! read only abl delayed global communication variables 
    177177 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icedia.F90

    r12489 r12738  
    230230            CALL iom_get( numrir, 'frc_tembot' , frc_tembot  ) 
    231231            CALL iom_get( numrir, 'frc_sal'    , frc_sal     ) 
    232             CALL iom_get( numrir, jpdom_autoglo, 'vol_loc_ini', vol_loc_ini ) 
    233             CALL iom_get( numrir, jpdom_autoglo, 'tem_loc_ini', tem_loc_ini ) 
    234             CALL iom_get( numrir, jpdom_autoglo, 'sal_loc_ini', sal_loc_ini ) 
     232            CALL iom_get( numrir, jpdom_auto, 'vol_loc_ini', vol_loc_ini ) 
     233            CALL iom_get( numrir, jpdom_auto, 'tem_loc_ini', tem_loc_ini ) 
     234            CALL iom_get( numrir, jpdom_auto, 'sal_loc_ini', sal_loc_ini ) 
    235235         ELSE 
    236236            IF(lwp) WRITE(numout,*) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icedyn_adv_pra.F90

    r12489 r12738  
    772772            ! 
    773773            !                                                        ! ice thickness 
    774             CALL iom_get( numrir, jpdom_autoglo, 'sxice' , sxice  ) 
    775             CALL iom_get( numrir, jpdom_autoglo, 'syice' , syice  ) 
    776             CALL iom_get( numrir, jpdom_autoglo, 'sxxice', sxxice ) 
    777             CALL iom_get( numrir, jpdom_autoglo, 'syyice', syyice ) 
    778             CALL iom_get( numrir, jpdom_autoglo, 'sxyice', sxyice ) 
     774            CALL iom_get( numrir, jpdom_auto, 'sxice' , sxice  ) 
     775            CALL iom_get( numrir, jpdom_auto, 'syice' , syice  ) 
     776            CALL iom_get( numrir, jpdom_auto, 'sxxice', sxxice ) 
     777            CALL iom_get( numrir, jpdom_auto, 'syyice', syyice ) 
     778            CALL iom_get( numrir, jpdom_auto, 'sxyice', sxyice ) 
    779779            !                                                        ! snow thickness 
    780             CALL iom_get( numrir, jpdom_autoglo, 'sxsn'  , sxsn   ) 
    781             CALL iom_get( numrir, jpdom_autoglo, 'sysn'  , sysn   ) 
    782             CALL iom_get( numrir, jpdom_autoglo, 'sxxsn' , sxxsn  ) 
    783             CALL iom_get( numrir, jpdom_autoglo, 'syysn' , syysn  ) 
    784             CALL iom_get( numrir, jpdom_autoglo, 'sxysn' , sxysn  ) 
     780            CALL iom_get( numrir, jpdom_auto, 'sxsn'  , sxsn   ) 
     781            CALL iom_get( numrir, jpdom_auto, 'sysn'  , sysn   ) 
     782            CALL iom_get( numrir, jpdom_auto, 'sxxsn' , sxxsn  ) 
     783            CALL iom_get( numrir, jpdom_auto, 'syysn' , syysn  ) 
     784            CALL iom_get( numrir, jpdom_auto, 'sxysn' , sxysn  ) 
    785785            !                                                        ! ice concentration 
    786             CALL iom_get( numrir, jpdom_autoglo, 'sxa'   , sxa    ) 
    787             CALL iom_get( numrir, jpdom_autoglo, 'sya'   , sya    ) 
    788             CALL iom_get( numrir, jpdom_autoglo, 'sxxa'  , sxxa   ) 
    789             CALL iom_get( numrir, jpdom_autoglo, 'syya'  , syya   ) 
    790             CALL iom_get( numrir, jpdom_autoglo, 'sxya'  , sxya   ) 
     786            CALL iom_get( numrir, jpdom_auto, 'sxa'   , sxa    ) 
     787            CALL iom_get( numrir, jpdom_auto, 'sya'   , sya    ) 
     788            CALL iom_get( numrir, jpdom_auto, 'sxxa'  , sxxa   ) 
     789            CALL iom_get( numrir, jpdom_auto, 'syya'  , syya   ) 
     790            CALL iom_get( numrir, jpdom_auto, 'sxya'  , sxya   ) 
    791791            !                                                        ! ice salinity 
    792             CALL iom_get( numrir, jpdom_autoglo, 'sxsal' , sxsal  ) 
    793             CALL iom_get( numrir, jpdom_autoglo, 'sysal' , sysal  ) 
    794             CALL iom_get( numrir, jpdom_autoglo, 'sxxsal', sxxsal ) 
    795             CALL iom_get( numrir, jpdom_autoglo, 'syysal', syysal ) 
    796             CALL iom_get( numrir, jpdom_autoglo, 'sxysal', sxysal ) 
     792            CALL iom_get( numrir, jpdom_auto, 'sxsal' , sxsal  ) 
     793            CALL iom_get( numrir, jpdom_auto, 'sysal' , sysal  ) 
     794            CALL iom_get( numrir, jpdom_auto, 'sxxsal', sxxsal ) 
     795            CALL iom_get( numrir, jpdom_auto, 'syysal', syysal ) 
     796            CALL iom_get( numrir, jpdom_auto, 'sxysal', sxysal ) 
    797797            !                                                        ! ice age 
    798             CALL iom_get( numrir, jpdom_autoglo, 'sxage' , sxage  ) 
    799             CALL iom_get( numrir, jpdom_autoglo, 'syage' , syage  ) 
    800             CALL iom_get( numrir, jpdom_autoglo, 'sxxage', sxxage ) 
    801             CALL iom_get( numrir, jpdom_autoglo, 'syyage', syyage ) 
    802             CALL iom_get( numrir, jpdom_autoglo, 'sxyage', sxyage ) 
     798            CALL iom_get( numrir, jpdom_auto, 'sxage' , sxage  ) 
     799            CALL iom_get( numrir, jpdom_auto, 'syage' , syage  ) 
     800            CALL iom_get( numrir, jpdom_auto, 'sxxage', sxxage ) 
     801            CALL iom_get( numrir, jpdom_auto, 'syyage', syyage ) 
     802            CALL iom_get( numrir, jpdom_auto, 'sxyage', sxyage ) 
    803803            !                                                        ! snow layers heat content 
    804804            DO jk = 1, nlay_s 
    805805               WRITE(zchar1,'(I2.2)') jk 
    806                znam = 'sxc0'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sxc0 (:,:,jk,:) = z3d(:,:,:) 
    807                znam = 'syc0'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   syc0 (:,:,jk,:) = z3d(:,:,:) 
    808                znam = 'sxxc0'//'_l'//zchar1 ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sxxc0(:,:,jk,:) = z3d(:,:,:) 
    809                znam = 'syyc0'//'_l'//zchar1 ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   syyc0(:,:,jk,:) = z3d(:,:,:) 
    810                znam = 'sxyc0'//'_l'//zchar1 ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sxyc0(:,:,jk,:) = z3d(:,:,:) 
     806               znam = 'sxc0'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sxc0 (:,:,jk,:) = z3d(:,:,:) 
     807               znam = 'syc0'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   syc0 (:,:,jk,:) = z3d(:,:,:) 
     808               znam = 'sxxc0'//'_l'//zchar1 ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sxxc0(:,:,jk,:) = z3d(:,:,:) 
     809               znam = 'syyc0'//'_l'//zchar1 ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   syyc0(:,:,jk,:) = z3d(:,:,:) 
     810               znam = 'sxyc0'//'_l'//zchar1 ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sxyc0(:,:,jk,:) = z3d(:,:,:) 
    811811            END DO 
    812812            !                                                        ! ice layers heat content 
    813813            DO jk = 1, nlay_i 
    814814               WRITE(zchar1,'(I2.2)') jk 
    815                znam = 'sxe'//'_l'//zchar1   ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sxe (:,:,jk,:) = z3d(:,:,:) 
    816                znam = 'sye'//'_l'//zchar1   ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sye (:,:,jk,:) = z3d(:,:,:) 
    817                znam = 'sxxe'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sxxe(:,:,jk,:) = z3d(:,:,:) 
    818                znam = 'syye'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   syye(:,:,jk,:) = z3d(:,:,:) 
    819                znam = 'sxye'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_autoglo, znam , z3d )   ;   sxye(:,:,jk,:) = z3d(:,:,:) 
     815               znam = 'sxe'//'_l'//zchar1   ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sxe (:,:,jk,:) = z3d(:,:,:) 
     816               znam = 'sye'//'_l'//zchar1   ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sye (:,:,jk,:) = z3d(:,:,:) 
     817               znam = 'sxxe'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sxxe(:,:,jk,:) = z3d(:,:,:) 
     818               znam = 'syye'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   syye(:,:,jk,:) = z3d(:,:,:) 
     819               znam = 'sxye'//'_l'//zchar1  ;   CALL iom_get( numrir, jpdom_auto, znam , z3d )   ;   sxye(:,:,jk,:) = z3d(:,:,:) 
    820820            END DO 
    821821            ! 
    822822            IF( ln_pnd_H12 ) THEN                                    ! melt pond fraction 
    823                CALL iom_get( numrir, jpdom_autoglo, 'sxap' , sxap  ) 
    824                CALL iom_get( numrir, jpdom_autoglo, 'syap' , syap  ) 
    825                CALL iom_get( numrir, jpdom_autoglo, 'sxxap', sxxap ) 
    826                CALL iom_get( numrir, jpdom_autoglo, 'syyap', syyap ) 
    827                CALL iom_get( numrir, jpdom_autoglo, 'sxyap', sxyap ) 
     823               CALL iom_get( numrir, jpdom_auto, 'sxap' , sxap  ) 
     824               CALL iom_get( numrir, jpdom_auto, 'syap' , syap  ) 
     825               CALL iom_get( numrir, jpdom_auto, 'sxxap', sxxap ) 
     826               CALL iom_get( numrir, jpdom_auto, 'syyap', syyap ) 
     827               CALL iom_get( numrir, jpdom_auto, 'sxyap', sxyap ) 
    828828               !                                                     ! melt pond volume 
    829                CALL iom_get( numrir, jpdom_autoglo, 'sxvp' , sxvp  ) 
    830                CALL iom_get( numrir, jpdom_autoglo, 'syvp' , syvp  ) 
    831                CALL iom_get( numrir, jpdom_autoglo, 'sxxvp', sxxvp ) 
    832                CALL iom_get( numrir, jpdom_autoglo, 'syyvp', syyvp ) 
    833                CALL iom_get( numrir, jpdom_autoglo, 'sxyvp', sxyvp ) 
     829               CALL iom_get( numrir, jpdom_auto, 'sxvp' , sxvp  ) 
     830               CALL iom_get( numrir, jpdom_auto, 'syvp' , syvp  ) 
     831               CALL iom_get( numrir, jpdom_auto, 'sxxvp', sxxvp ) 
     832               CALL iom_get( numrir, jpdom_auto, 'syyvp', syyvp ) 
     833               CALL iom_get( numrir, jpdom_auto, 'sxyvp', sxyvp ) 
    834834            ENDIF 
    835835            ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icedyn_rhg_evp.F90

    r12489 r12738  
    844844            ! 
    845845            IF( MIN( id1, id2, id3 ) > 0 ) THEN      ! fields exist 
    846                CALL iom_get( numrir, jpdom_autoglo, 'stress1_i' , stress1_i ) 
    847                CALL iom_get( numrir, jpdom_autoglo, 'stress2_i' , stress2_i ) 
    848                CALL iom_get( numrir, jpdom_autoglo, 'stress12_i', stress12_i ) 
     846               CALL iom_get( numrir, jpdom_auto, 'stress1_i' , stress1_i , cd_type = 'T' ) 
     847               CALL iom_get( numrir, jpdom_auto, 'stress2_i' , stress2_i , cd_type = 'T' ) 
     848               CALL iom_get( numrir, jpdom_auto, 'stress12_i', stress12_i, cd_type = 'F' ) 
    849849            ELSE                                     ! start rheology from rest 
    850850               IF(lwp) WRITE(numout,*) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icerst.F90

    r12377 r12738  
    211211 
    212212         ! --- mandatory fields --- !  
    213          CALL iom_get( numrir, jpdom_autoglo, 'v_i'  , v_i   ) 
    214          CALL iom_get( numrir, jpdom_autoglo, 'v_s'  , v_s   ) 
    215          CALL iom_get( numrir, jpdom_autoglo, 'sv_i' , sv_i  ) 
    216          CALL iom_get( numrir, jpdom_autoglo, 'a_i'  , a_i   ) 
    217          CALL iom_get( numrir, jpdom_autoglo, 't_su' , t_su  ) 
    218          CALL iom_get( numrir, jpdom_autoglo, 'u_ice', u_ice ) 
    219          CALL iom_get( numrir, jpdom_autoglo, 'v_ice', v_ice ) 
     213         CALL iom_get( numrir, jpdom_auto, 'v_i'  , v_i   ) 
     214         CALL iom_get( numrir, jpdom_auto, 'v_s'  , v_s   ) 
     215         CALL iom_get( numrir, jpdom_auto, 'sv_i' , sv_i  ) 
     216         CALL iom_get( numrir, jpdom_auto, 'a_i'  , a_i   ) 
     217         CALL iom_get( numrir, jpdom_auto, 't_su' , t_su  ) 
     218         CALL iom_get( numrir, jpdom_auto, 'u_ice', u_ice, cd_type = 'U', psgn = -1._wp ) 
     219         CALL iom_get( numrir, jpdom_auto, 'v_ice', v_ice, cd_type = 'V', psgn = -1._wp ) 
    220220         ! Snow enthalpy 
    221221         DO jk = 1, nlay_s 
    222222            WRITE(zchar1,'(I2.2)') jk 
    223223            znam = 'e_s'//'_l'//zchar1 
    224             CALL iom_get( numrir, jpdom_autoglo, znam , z3d ) 
     224            CALL iom_get( numrir, jpdom_auto, znam , z3d ) 
    225225            e_s(:,:,jk,:) = z3d(:,:,:) 
    226226         END DO 
     
    229229            WRITE(zchar1,'(I2.2)') jk 
    230230            znam = 'e_i'//'_l'//zchar1 
    231             CALL iom_get( numrir, jpdom_autoglo, znam , z3d ) 
     231            CALL iom_get( numrir, jpdom_auto, znam , z3d ) 
    232232            e_i(:,:,jk,:) = z3d(:,:,:) 
    233233         END DO 
     
    236236         id1 = iom_varid( numrir, 'oa_i' , ldstop = .FALSE. ) 
    237237         IF( id1 > 0 ) THEN                       ! fields exist 
    238             CALL iom_get( numrir, jpdom_autoglo, 'oa_i', oa_i ) 
     238            CALL iom_get( numrir, jpdom_auto, 'oa_i', oa_i ) 
    239239         ELSE                                     ! start from rest 
    240240            IF(lwp) WRITE(numout,*) '   ==>>   previous run without ice age output then set it to zero' 
     
    244244         id2 = iom_varid( numrir, 'a_ip' , ldstop = .FALSE. ) 
    245245         IF( id2 > 0 ) THEN                       ! fields exist 
    246             CALL iom_get( numrir, jpdom_autoglo, 'a_ip' , a_ip ) 
    247             CALL iom_get( numrir, jpdom_autoglo, 'v_ip' , v_ip ) 
     246            CALL iom_get( numrir, jpdom_auto, 'a_ip' , a_ip ) 
     247            CALL iom_get( numrir, jpdom_auto, 'v_ip' , v_ip ) 
    248248         ELSE                                     ! start from rest 
    249249            IF(lwp) WRITE(numout,*) '   ==>>   previous run without melt ponds output then set it to zero' 
     
    256256            id4 = iom_varid( numrir, 't1_ice'  , ldstop = .FALSE. ) 
    257257            IF( id3 > 0 .AND. id4 > 0 ) THEN         ! fields exist 
    258                CALL iom_get( numrir, jpdom_autoglo, 'cnd_ice', cnd_ice ) 
    259                CALL iom_get( numrir, jpdom_autoglo, 't1_ice' , t1_ice  ) 
     258               CALL iom_get( numrir, jpdom_auto, 'cnd_ice', cnd_ice ) 
     259               CALL iom_get( numrir, jpdom_auto, 't1_ice' , t1_ice  ) 
    260260            ELSE                                     ! start from rest 
    261261               IF(lwp) WRITE(numout,*) '   ==>>   previous run without conductivity output then set it to zero' 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/iceupdate.F90

    r12489 r12738  
    417417            ! 
    418418            IF( id1 > 0 ) THEN                       ! fields exist 
    419                CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass'  , snwice_mass   ) 
    420                CALL iom_get( numrir, jpdom_autoglo, 'snwice_mass_b', snwice_mass_b ) 
     419               CALL iom_get( numrir, jpdom_auto, 'snwice_mass'  , snwice_mass   ) 
     420               CALL iom_get( numrir, jpdom_auto, 'snwice_mass_b', snwice_mass_b ) 
    421421            ELSE                                     ! start from rest 
    422422               IF(lwp) WRITE(numout,*) '   ==>>   previous run without snow-ice mass output then set it' 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ASM/asminc.F90

    r12489 r12738  
    359359 
    360360         IF ( ln_trainc ) THEN    
    361             CALL iom_get( inum, jpdom_autoglo, 'bckint', t_bkginc, 1 ) 
    362             CALL iom_get( inum, jpdom_autoglo, 'bckins', s_bkginc, 1 ) 
     361            CALL iom_get( inum, jpdom_auto, 'bckint', t_bkginc, 1 ) 
     362            CALL iom_get( inum, jpdom_auto, 'bckins', s_bkginc, 1 ) 
    363363            ! Apply the masks 
    364364            t_bkginc(:,:,:) = t_bkginc(:,:,:) * tmask(:,:,:) 
     
    371371 
    372372         IF ( ln_dyninc ) THEN    
    373             CALL iom_get( inum, jpdom_autoglo, 'bckinu', u_bkginc, 1 )               
    374             CALL iom_get( inum, jpdom_autoglo, 'bckinv', v_bkginc, 1 )               
     373            CALL iom_get( inum, jpdom_auto, 'bckinu', u_bkginc, 1 )               
     374            CALL iom_get( inum, jpdom_auto, 'bckinv', v_bkginc, 1 )               
    375375            ! Apply the masks 
    376376            u_bkginc(:,:,:) = u_bkginc(:,:,:) * umask(:,:,:) 
     
    383383         
    384384         IF ( ln_sshinc ) THEN 
    385             CALL iom_get( inum, jpdom_autoglo, 'bckineta', ssh_bkginc, 1 ) 
     385            CALL iom_get( inum, jpdom_auto, 'bckineta', ssh_bkginc, 1 ) 
    386386            ! Apply the masks 
    387387            ssh_bkginc(:,:) = ssh_bkginc(:,:) * tmask(:,:,1) 
     
    392392 
    393393         IF ( ln_seaiceinc ) THEN 
    394             CALL iom_get( inum, jpdom_autoglo, 'bckinseaice', seaice_bkginc, 1 ) 
     394            CALL iom_get( inum, jpdom_auto, 'bckinseaice', seaice_bkginc, 1 ) 
    395395            ! Apply the masks 
    396396            seaice_bkginc(:,:) = seaice_bkginc(:,:) * tmask(:,:,1) 
     
    465465         ! 
    466466         IF ( ln_trainc ) THEN    
    467             CALL iom_get( inum, jpdom_autoglo, 'tn', t_bkg ) 
    468             CALL iom_get( inum, jpdom_autoglo, 'sn', s_bkg ) 
     467            CALL iom_get( inum, jpdom_auto, 'tn', t_bkg ) 
     468            CALL iom_get( inum, jpdom_auto, 'sn', s_bkg ) 
    469469            t_bkg(:,:,:) = t_bkg(:,:,:) * tmask(:,:,:) 
    470470            s_bkg(:,:,:) = s_bkg(:,:,:) * tmask(:,:,:) 
     
    472472         ! 
    473473         IF ( ln_dyninc ) THEN    
    474             CALL iom_get( inum, jpdom_autoglo, 'un', u_bkg ) 
    475             CALL iom_get( inum, jpdom_autoglo, 'vn', v_bkg ) 
     474            CALL iom_get( inum, jpdom_auto, 'un', u_bkg, cd_type = 'U', psgn = 1._wp ) 
     475            CALL iom_get( inum, jpdom_auto, 'vn', v_bkg, cd_type = 'V', psgn = 1._wp ) 
    476476            u_bkg(:,:,:) = u_bkg(:,:,:) * umask(:,:,:) 
    477477            v_bkg(:,:,:) = v_bkg(:,:,:) * vmask(:,:,:) 
     
    479479         ! 
    480480         IF ( ln_sshinc ) THEN 
    481             CALL iom_get( inum, jpdom_autoglo, 'sshn', ssh_bkg ) 
     481            CALL iom_get( inum, jpdom_auto, 'sshn', ssh_bkg ) 
    482482            ssh_bkg(:,:) = ssh_bkg(:,:) * tmask(:,:,1) 
    483483         ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/BDY/bdytides.F90

    r12489 r12738  
    166166               igrd = 1                       ! Everything is at T-points here 
    167167               DO itide = 1, nb_harmo 
    168                   CALL iom_get( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_z1', ztr(:,:) ) 
    169                   CALL iom_get( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_z2', zti(:,:) )  
     168                  CALL iom_get( inum, jpdom_auto, TRIM(tide_harmonics(itide)%cname_tide)//'_z1', ztr(:,:) ) 
     169                  CALL iom_get( inum, jpdom_auto, TRIM(tide_harmonics(itide)%cname_tide)//'_z2', zti(:,:) )  
    170170                  DO ib = 1, ilen0(igrd) 
    171171                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    183183               igrd = 2                       ! Everything is at U-points here 
    184184               DO itide = 1, nb_harmo 
    185                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_u1', ztr(:,:) ) 
    186                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_u2', zti(:,:) ) 
     185                  CALL iom_get(inum, jpdom_auto, TRIM(tide_harmonics(itide)%cname_tide)//'_u1', ztr(:,:), cd_type='U', psgn=-1._wp) 
     186                  CALL iom_get(inum, jpdom_auto, TRIM(tide_harmonics(itide)%cname_tide)//'_u2', zti(:,:), cd_type='U', psgn=-1._wp) 
    187187                  DO ib = 1, ilen0(igrd) 
    188188                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
     
    200200               igrd = 3                       ! Everything is at V-points here 
    201201               DO itide = 1, nb_harmo 
    202                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_v1', ztr(:,:) ) 
    203                   CALL iom_get  ( inum, jpdom_autoglo, TRIM(tide_harmonics(itide)%cname_tide)//'_v2', zti(:,:) ) 
     202                  CALL iom_get(inum, jpdom_auto, TRIM(tide_harmonics(itide)%cname_tide)//'_v1', ztr(:,:), cd_type='V', psgn=-1._wp) 
     203                  CALL iom_get(inum, jpdom_auto, TRIM(tide_harmonics(itide)%cname_tide)//'_v2', zti(:,:), cd_type='V', psgn=-1._wp) 
    204204                  DO ib = 1, ilen0(igrd) 
    205205                     ii = idx_bdy(ib_bdy)%nbi(ib,igrd) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/C1D/dyndmp.F90

    r12377 r12738  
    121121         !Read in mask from file 
    122122         CALL iom_open ( cn_resto, imask) 
    123          CALL iom_get  ( imask, jpdom_autoglo, 'resto', resto) 
     123         CALL iom_get  ( imask, jpdom_auto, 'resto', resto) 
    124124         CALL iom_close( imask ) 
    125125      ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DIA/diaar5.F90

    r12489 r12738  
    392392            ALLOCATE( zsaldta(jpi,jpj,jpk,jpts) ) 
    393393            CALL iom_open ( 'sali_ref_clim_monthly', inum ) 
    394             CALL iom_get  ( inum, jpdom_data, 'vosaline' , zsaldta(:,:,:,1), 1  ) 
    395             CALL iom_get  ( inum, jpdom_data, 'vosaline' , zsaldta(:,:,:,2), 12 ) 
     394            CALL iom_get  ( inum, jpdom_global, 'vosaline' , zsaldta(:,:,:,1), 1  ) 
     395            CALL iom_get  ( inum, jpdom_global, 'vosaline' , zsaldta(:,:,:,2), 12 ) 
    396396            CALL iom_close( inum ) 
    397397 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DIA/diahsb.F90

    r12489 r12738  
    269269               CALL iom_get( numror, 'frc_wn_s', frc_wn_s, ldxios = lrxios ) 
    270270            ENDIF 
    271             CALL iom_get( numror, jpdom_autoglo, 'surf_ini'  , surf_ini  , ldxios = lrxios ) ! ice sheet coupling 
    272             CALL iom_get( numror, jpdom_autoglo, 'ssh_ini'   , ssh_ini   , ldxios = lrxios ) 
    273             CALL iom_get( numror, jpdom_autoglo, 'e3t_ini'   , e3t_ini   , ldxios = lrxios ) 
    274             CALL iom_get( numror, jpdom_autoglo, 'tmask_ini' , tmask_ini , ldxios = lrxios ) 
    275             CALL iom_get( numror, jpdom_autoglo, 'hc_loc_ini', hc_loc_ini, ldxios = lrxios ) 
    276             CALL iom_get( numror, jpdom_autoglo, 'sc_loc_ini', sc_loc_ini, ldxios = lrxios ) 
     271            CALL iom_get( numror, jpdom_auto, 'surf_ini'  , surf_ini  , ldxios = lrxios ) ! ice sheet coupling 
     272            CALL iom_get( numror, jpdom_auto, 'ssh_ini'   , ssh_ini   , ldxios = lrxios ) 
     273            CALL iom_get( numror, jpdom_auto, 'e3t_ini'   , e3t_ini   , ldxios = lrxios ) 
     274            CALL iom_get( numror, jpdom_auto, 'tmask_ini' , tmask_ini , ldxios = lrxios ) 
     275            CALL iom_get( numror, jpdom_auto, 'hc_loc_ini', hc_loc_ini, ldxios = lrxios ) 
     276            CALL iom_get( numror, jpdom_auto, 'sc_loc_ini', sc_loc_ini, ldxios = lrxios ) 
    277277            IF( ln_linssh ) THEN 
    278                CALL iom_get( numror, jpdom_autoglo, 'ssh_hc_loc_ini', ssh_hc_loc_ini, ldxios = lrxios ) 
    279                CALL iom_get( numror, jpdom_autoglo, 'ssh_sc_loc_ini', ssh_sc_loc_ini, ldxios = lrxios ) 
     278               CALL iom_get( numror, jpdom_auto, 'ssh_hc_loc_ini', ssh_hc_loc_ini, ldxios = lrxios ) 
     279               CALL iom_get( numror, jpdom_auto, 'ssh_sc_loc_ini', ssh_sc_loc_ini, ldxios = lrxios ) 
    280280            ENDIF 
    281281         ELSE 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DIA/diaptr.F90

    r12489 r12738  
    353353         btmsk(:,:,1) = tmask_i(:,:)                  
    354354         CALL iom_open( 'subbasins', inum,  ldstop = .FALSE.  ) 
    355          CALL iom_get( inum, jpdom_data, 'atlmsk', btmsk(:,:,2) )   ! Atlantic basin 
    356          CALL iom_get( inum, jpdom_data, 'pacmsk', btmsk(:,:,3) )   ! Pacific  basin 
    357          CALL iom_get( inum, jpdom_data, 'indmsk', btmsk(:,:,4) )   ! Indian   basin 
     355         CALL iom_get( inum, jpdom_global, 'atlmsk', btmsk(:,:,2) )   ! Atlantic basin 
     356         CALL iom_get( inum, jpdom_global, 'pacmsk', btmsk(:,:,3) )   ! Pacific  basin 
     357         CALL iom_get( inum, jpdom_global, 'indmsk', btmsk(:,:,4) )   ! Indian   basin 
    358358         CALL iom_close( inum ) 
    359359         btmsk(:,:,5) = MAX ( btmsk(:,:,3), btmsk(:,:,4) )          ! Indo-Pacific basin 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/closea.F90

    r12377 r12738  
    2222   ! 
    2323   USE diu_bulk    , ONLY: ln_diurnal_only            ! used for sanity check 
    24    USE iom         , ONLY: iom_open, iom_get, iom_close, jpdom_data ! I/O routines 
     24   USE iom         , ONLY: iom_open, iom_get, iom_close, jpdom_global ! I/O routines 
    2525   USE lib_fortran , ONLY: glob_sum                   ! fortran library 
    2626   USE lib_mpp     , ONLY: mpp_max, ctl_nam, ctl_stop ! MPP library 
     
    236236      ! 
    237237      CALL iom_open ( cd_file, ics ) 
    238       CALL iom_get  ( ics, jpdom_data, TRIM(cd_var), zdta ) 
     238      CALL iom_get  ( ics, jpdom_global, TRIM(cd_var), zdta ) 
    239239      CALL iom_close( ics ) 
    240240      k_mskout(:,:) = NINT(zdta(:,:)) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domhgr.F90

    r10068 r12738  
    189189      CALL iom_open( cn_domcfg, inum ) 
    190190      ! 
    191       CALL iom_get( inum, jpdom_data, 'glamt', plamt, lrowattr=ln_use_jattr ) 
    192       CALL iom_get( inum, jpdom_data, 'glamu', plamu, lrowattr=ln_use_jattr ) 
    193       CALL iom_get( inum, jpdom_data, 'glamv', plamv, lrowattr=ln_use_jattr ) 
    194       CALL iom_get( inum, jpdom_data, 'glamf', plamf, lrowattr=ln_use_jattr ) 
    195       ! 
    196       CALL iom_get( inum, jpdom_data, 'gphit', pphit, lrowattr=ln_use_jattr ) 
    197       CALL iom_get( inum, jpdom_data, 'gphiu', pphiu, lrowattr=ln_use_jattr ) 
    198       CALL iom_get( inum, jpdom_data, 'gphiv', pphiv, lrowattr=ln_use_jattr ) 
    199       CALL iom_get( inum, jpdom_data, 'gphif', pphif, lrowattr=ln_use_jattr ) 
    200       ! 
    201       CALL iom_get( inum, jpdom_data, 'e1t'  , pe1t  , lrowattr=ln_use_jattr ) 
    202       CALL iom_get( inum, jpdom_data, 'e1u'  , pe1u  , lrowattr=ln_use_jattr ) 
    203       CALL iom_get( inum, jpdom_data, 'e1v'  , pe1v  , lrowattr=ln_use_jattr ) 
    204       CALL iom_get( inum, jpdom_data, 'e1f'  , pe1f  , lrowattr=ln_use_jattr ) 
    205       ! 
    206       CALL iom_get( inum, jpdom_data, 'e2t'  , pe2t  , lrowattr=ln_use_jattr ) 
    207       CALL iom_get( inum, jpdom_data, 'e2u'  , pe2u  , lrowattr=ln_use_jattr ) 
    208       CALL iom_get( inum, jpdom_data, 'e2v'  , pe2v  , lrowattr=ln_use_jattr ) 
    209       CALL iom_get( inum, jpdom_data, 'e2f'  , pe2f  , lrowattr=ln_use_jattr ) 
     191      CALL iom_get( inum, jpdom_global, 'glamt', plamt, cd_type = 'T', psgn = 1._wp ) 
     192      CALL iom_get( inum, jpdom_global, 'glamu', plamu, cd_type = 'U', psgn = 1._wp ) 
     193      CALL iom_get( inum, jpdom_global, 'glamv', plamv, cd_type = 'V', psgn = 1._wp ) 
     194      CALL iom_get( inum, jpdom_global, 'glamf', plamf, cd_type = 'F', psgn = 1._wp ) 
     195      ! 
     196      CALL iom_get( inum, jpdom_global, 'gphit', pphit, cd_type = 'T', psgn = 1._wp ) 
     197      CALL iom_get( inum, jpdom_global, 'gphiu', pphiu, cd_type = 'U', psgn = 1._wp ) 
     198      CALL iom_get( inum, jpdom_global, 'gphiv', pphiv, cd_type = 'V', psgn = 1._wp ) 
     199      CALL iom_get( inum, jpdom_global, 'gphif', pphif, cd_type = 'F', psgn = 1._wp ) 
     200      ! 
     201      CALL iom_get( inum, jpdom_global, 'e1t'  , pe1t , cd_type = 'T', psgn = 1._wp ) 
     202      CALL iom_get( inum, jpdom_global, 'e1u'  , pe1u , cd_type = 'U', psgn = 1._wp ) 
     203      CALL iom_get( inum, jpdom_global, 'e1v'  , pe1v , cd_type = 'V', psgn = 1._wp ) 
     204      CALL iom_get( inum, jpdom_global, 'e1f'  , pe1f , cd_type = 'F', psgn = 1._wp ) 
     205      ! 
     206      CALL iom_get( inum, jpdom_global, 'e2t'  , pe2t , cd_type = 'T', psgn = 1._wp ) 
     207      CALL iom_get( inum, jpdom_global, 'e2u'  , pe2u , cd_type = 'U', psgn = 1._wp ) 
     208      CALL iom_get( inum, jpdom_global, 'e2v'  , pe2v , cd_type = 'V', psgn = 1._wp ) 
     209      CALL iom_get( inum, jpdom_global, 'e2f'  , pe2f , cd_type = 'F', psgn = 1._wp ) 
    210210      ! 
    211211      IF(  iom_varid( inum, 'ff_f', ldstop = .FALSE. ) > 0  .AND.  & 
    212212         & iom_varid( inum, 'ff_t', ldstop = .FALSE. ) > 0    ) THEN 
    213213         IF(lwp) WRITE(numout,*) '           Coriolis factor at f- and t-points read in ', TRIM( cn_domcfg ), ' file' 
    214          CALL iom_get( inum, jpdom_data, 'ff_f'  , pff_f  , lrowattr=ln_use_jattr ) 
    215          CALL iom_get( inum, jpdom_data, 'ff_t'  , pff_t  , lrowattr=ln_use_jattr ) 
     214         CALL iom_get( inum, jpdom_global, 'ff_f', pff_f, cd_type = 'F', psgn = 1._wp ) 
     215         CALL iom_get( inum, jpdom_global, 'ff_t', pff_t, cd_type = 'T', psgn = 1._wp ) 
    216216         kff = 1 
    217217      ELSE 
     
    221221      IF( iom_varid( inum, 'e1e2u', ldstop = .FALSE. ) > 0 ) THEN 
    222222         IF(lwp) WRITE(numout,*) '           e1e2u & e1e2v read in ', TRIM( cn_domcfg ), ' file' 
    223          CALL iom_get( inum, jpdom_data, 'e1e2u'  , pe1e2u  , lrowattr=ln_use_jattr ) 
    224          CALL iom_get( inum, jpdom_data, 'e1e2v'  , pe1e2v  , lrowattr=ln_use_jattr ) 
     223         CALL iom_get( inum, jpdom_global, 'e1e2u', pe1e2u, cd_type = 'U', psgn = 1._wp ) 
     224         CALL iom_get( inum, jpdom_global, 'e1e2v', pe1e2v, cd_type = 'V', psgn = 1._wp ) 
    225225         ke1e2u_v = 1 
    226226      ELSE 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/dommsk.F90

    r12377 r12738  
    151151      IF ( ln_bdy .AND. ln_mask_file ) THEN 
    152152         CALL iom_open( cn_mask_file, inum ) 
    153          CALL iom_get ( inum, jpdom_data, 'bdy_msk', bdytmask(:,:) ) 
     153         CALL iom_get ( inum, jpdom_global, 'bdy_msk', bdytmask(:,:) ) 
    154154         CALL iom_close( inum ) 
    155155         DO_3D_11_11( 1, jpkm1 ) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domvvl.F90

    r12489 r12738  
    793793         IF( ln_rstart ) THEN                   !* Read the restart file 
    794794            CALL rst_read_open                  !  open the restart file if necessary 
    795             CALL iom_get( numror, jpdom_autoglo, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
     795            CALL iom_get( numror, jpdom_auto, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
    796796            ! 
    797797            id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) 
     
    806806            ! 
    807807            IF( MIN( id1, id2 ) > 0 ) THEN       ! all required arrays exist 
    808                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    809                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     808               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     809               CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    810810               ! needed to restart if land processor not computed  
    811811               IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' 
     
    821821               IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 
    822822               IF(lwp) write(numout,*) 'l_1st_euler is forced to true' 
    823                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     823               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    824824               e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 
    825825               l_1st_euler = .true. 
     
    828828               IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 
    829829               IF(lwp) write(numout,*) 'l_1st_euler is forced to true' 
    830                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     830               CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    831831               e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    832832               l_1st_euler = .true. 
     
    853853               !                          ! ----------------------- ! 
    854854               IF( MIN( id3, id4 ) > 0 ) THEN  ! all required arrays exist 
    855                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
    856                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
     855                  CALL iom_get( numror, jpdom_auto, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
     856                  CALL iom_get( numror, jpdom_auto, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
    857857               ELSE                            ! one at least array is missing 
    858858                  tilde_e3t_b(:,:,:) = 0.0_wp 
     
    863863                  !                       ! ------------ ! 
    864864                  IF( id5 > 0 ) THEN  ! required array exists 
    865                      CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
     865                     CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
    866866                  ELSE                ! array is missing 
    867867                     hdiv_lf(:,:,:) = 0.0_wp 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domzgr.F90

    r12377 r12738  
    236236      CALL iom_get( inum, jpdom_unknown, 'e3w_1d'  , pe3w_1d  ) 
    237237      ! 
    238       CALL iom_get( inum, jpdom_data, 'e3t_0'  , pe3t  , lrowattr=ln_use_jattr )    ! 3D coordinate 
    239       CALL iom_get( inum, jpdom_data, 'e3u_0'  , pe3u  , lrowattr=ln_use_jattr ) 
    240       CALL iom_get( inum, jpdom_data, 'e3v_0'  , pe3v  , lrowattr=ln_use_jattr ) 
    241       CALL iom_get( inum, jpdom_data, 'e3f_0'  , pe3f  , lrowattr=ln_use_jattr ) 
    242       CALL iom_get( inum, jpdom_data, 'e3w_0'  , pe3w  , lrowattr=ln_use_jattr ) 
    243       CALL iom_get( inum, jpdom_data, 'e3uw_0' , pe3uw , lrowattr=ln_use_jattr ) 
    244       CALL iom_get( inum, jpdom_data, 'e3vw_0' , pe3vw , lrowattr=ln_use_jattr ) 
     238      CALL iom_get( inum, jpdom_global, 'e3t_0'  , pe3t , cd_type = 'T', psgn = 1._wp )    ! 3D coordinate 
     239      CALL iom_get( inum, jpdom_global, 'e3u_0'  , pe3u , cd_type = 'U', psgn = 1._wp ) 
     240      CALL iom_get( inum, jpdom_global, 'e3v_0'  , pe3v , cd_type = 'V', psgn = 1._wp ) 
     241      CALL iom_get( inum, jpdom_global, 'e3f_0'  , pe3f , cd_type = 'F', psgn = 1._wp ) 
     242      CALL iom_get( inum, jpdom_global, 'e3w_0'  , pe3w , cd_type = 'W', psgn = 1._wp ) 
     243      CALL iom_get( inum, jpdom_global, 'e3uw_0' , pe3uw, cd_type = 'U', psgn = 1._wp ) 
     244      CALL iom_get( inum, jpdom_global, 'e3vw_0' , pe3vw, cd_type = 'V', psgn = 1._wp ) 
    245245      ! 
    246246      !                          !* depths 
     
    254254         CALL iom_get( inum, jpdom_unknown, 'gdept_1d', pdept_1d )    
    255255         CALL iom_get( inum, jpdom_unknown, 'gdepw_1d', pdepw_1d ) 
    256          CALL iom_get( inum, jpdom_data   , 'gdept_0' , pdept , lrowattr=ln_use_jattr ) 
    257          CALL iom_get( inum, jpdom_data   , 'gdepw_0' , pdepw , lrowattr=ln_use_jattr ) 
     256         CALL iom_get( inum, jpdom_global , 'gdept_0' , pdept ) 
     257         CALL iom_get( inum, jpdom_global , 'gdepw_0' , pdepw ) 
    258258         ! 
    259259      ELSE                                !- depths computed from e3. scale factors 
     
    269269      ! 
    270270      !                          !* ocean top and bottom level 
    271       CALL iom_get( inum, jpdom_data, 'top_level'    , z2d  , lrowattr=ln_use_jattr )   ! 1st wet T-points (ISF) 
     271      CALL iom_get( inum, jpdom_global, 'top_level'    , z2d  )   ! 1st wet T-points (ISF) 
    272272      k_top(:,:) = NINT( z2d(:,:) ) 
    273       CALL iom_get( inum, jpdom_data, 'bottom_level' , z2d  , lrowattr=ln_use_jattr )   ! last wet T-points 
     273      CALL iom_get( inum, jpdom_global, 'bottom_level' , z2d  )   ! last wet T-points 
    274274      k_bot(:,:) = NINT( z2d(:,:) ) 
    275275      ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DYN/dynspg_ts.F90

    r12489 r12738  
    891891         !                                   ! --------------- 
    892892         IF( ln_rstart .AND. ln_bt_fw .AND. (.NOT.l_1st_euler) ) THEN    !* Read the restart file 
    893             CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:), ldxios = lrxios )    
    894             CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:), ldxios = lrxios )  
    895             CALL iom_get( numror, jpdom_autoglo, 'un_bf'  , un_bf  (:,:), ldxios = lrxios )    
    896             CALL iom_get( numror, jpdom_autoglo, 'vn_bf'  , vn_bf  (:,:), ldxios = lrxios )  
     893            CALL iom_get( numror, jpdom_auto, 'ub2_b'  , ub2_b  (:,:), cd_type = 'U', psgn = -1._wp, ldxios = lrxios )    
     894            CALL iom_get( numror, jpdom_auto, 'vb2_b'  , vb2_b  (:,:), cd_type = 'V', psgn = -1._wp, ldxios = lrxios )  
     895            CALL iom_get( numror, jpdom_auto, 'un_bf'  , un_bf  (:,:), cd_type = 'U', psgn = -1._wp, ldxios = lrxios )    
     896            CALL iom_get( numror, jpdom_auto, 'vn_bf'  , vn_bf  (:,:), cd_type = 'V', psgn = -1._wp, ldxios = lrxios )  
    897897            IF( .NOT.ln_bt_av ) THEN 
    898                CALL iom_get( numror, jpdom_autoglo, 'sshbb_e'  , sshbb_e(:,:), ldxios = lrxios )    
    899                CALL iom_get( numror, jpdom_autoglo, 'ubb_e'    ,   ubb_e(:,:), ldxios = lrxios )    
    900                CALL iom_get( numror, jpdom_autoglo, 'vbb_e'    ,   vbb_e(:,:), ldxios = lrxios ) 
    901                CALL iom_get( numror, jpdom_autoglo, 'sshb_e'   ,  sshb_e(:,:), ldxios = lrxios )  
    902                CALL iom_get( numror, jpdom_autoglo, 'ub_e'     ,    ub_e(:,:), ldxios = lrxios )    
    903                CALL iom_get( numror, jpdom_autoglo, 'vb_e'     ,    vb_e(:,:), ldxios = lrxios ) 
     898               CALL iom_get( numror, jpdom_auto, 'sshbb_e'  , sshbb_e(:,:), cd_type = 'T', psgn =  1._wp, ldxios = lrxios )    
     899               CALL iom_get( numror, jpdom_auto, 'ubb_e'    ,   ubb_e(:,:), cd_type = 'U', psgn = -1._wp, ldxios = lrxios )    
     900               CALL iom_get( numror, jpdom_auto, 'vbb_e'    ,   vbb_e(:,:), cd_type = 'V', psgn = -1._wp, ldxios = lrxios ) 
     901               CALL iom_get( numror, jpdom_auto, 'sshb_e'   ,  sshb_e(:,:), cd_type = 'T', psgn =  1._wp, ldxios = lrxios )  
     902               CALL iom_get( numror, jpdom_auto, 'ub_e'     ,    ub_e(:,:), cd_type = 'U', psgn = -1._wp, ldxios = lrxios )    
     903               CALL iom_get( numror, jpdom_auto, 'vb_e'     ,    vb_e(:,:), cd_type = 'V', psgn = -1._wp, ldxios = lrxios ) 
    904904            ENDIF 
    905905#if defined key_agrif 
    906906            ! Read time integrated fluxes 
    907907            IF ( .NOT.Agrif_Root() ) THEN 
    908                CALL iom_get( numror, jpdom_autoglo, 'ub2_i_b'  , ub2_i_b(:,:), ldxios = lrxios )    
    909                CALL iom_get( numror, jpdom_autoglo, 'vb2_i_b'  , vb2_i_b(:,:), ldxios = lrxios ) 
     908               CALL iom_get( numror, jpdom_auto, 'ub2_i_b'  , ub2_i_b(:,:), cd_type = 'U', psgn = -1._wp, ldxios = lrxios )    
     909               CALL iom_get( numror, jpdom_auto, 'vb2_i_b'  , vb2_i_b(:,:), cd_type = 'V', psgn = -1._wp, ldxios = lrxios ) 
    910910            ENDIF 
    911911#endif 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB/icbini.F90

    r12489 r12738  
    256256         ivar = iom_varid( inum, 'maxclass', ldstop=.FALSE. ) 
    257257         IF( ivar > 0 ) THEN 
    258             CALL iom_get  ( inum, jpdom_data, 'maxclass', src_calving )   ! read the max distribution array 
     258            CALL iom_get  ( inum, jpdom_global, 'maxclass', src_calving )   ! read the max distribution array 
    259259            berg_grid%maxclass(:,:) = INT( src_calving ) 
    260260            src_calving(:,:) = 0._wp 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB/icbrst.F90

    r12472 r12738  
    123123 
    124124      ! Gridded variables 
    125       CALL iom_get( ncid, jpdom_autoglo,    'calving'     , src_calving  ) 
    126       CALL iom_get( ncid, jpdom_autoglo,    'calving_hflx', src_calving_hflx  ) 
    127       CALL iom_get( ncid, jpdom_autoglo,    'stored_heat' , berg_grid%stored_heat  ) 
    128       CALL iom_get( ncid, jpdom_autoglo_xy, 'stored_ice'  , berg_grid%stored_ice, kstart=(/1,1,1/), kcount=(/1,1,nclasses/) ) 
     125      CALL iom_get( ncid, jpdom_auto,    'calving'     , src_calving  ) 
     126      CALL iom_get( ncid, jpdom_auto,    'calving_hflx', src_calving_hflx  ) 
     127      CALL iom_get( ncid, jpdom_auto,    'stored_heat' , berg_grid%stored_heat  ) 
     128      CALL iom_get( ncid, jpdom_auto_xy, 'stored_ice'  , berg_grid%stored_ice, kstart=(/1,1,1/), kcount=(/1,1,nclasses/) ) 
    129129       
    130130      CALL iom_get( ncid, jpdom_unknown, 'kount' , zdata(:) ) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/IOM/iom.F90

    r12489 r12738  
    665665 
    666666 
    667    SUBROUTINE iom_open( cdname, kiomid, ldwrt, kdom, ldstop, ldiof, kdlev ) 
     667   SUBROUTINE iom_open( cdname, kiomid, ldwrt, ldstop, ldiof, kdlev ) 
    668668      !!--------------------------------------------------------------------- 
    669669      !!                   ***  SUBROUTINE  iom_open  *** 
     
    674674      INTEGER         , INTENT(  out)           ::   kiomid   ! iom identifier of the opened file 
    675675      LOGICAL         , INTENT(in   ), OPTIONAL ::   ldwrt    ! open in write modeb          (default = .FALSE.) 
    676       INTEGER         , INTENT(in   ), OPTIONAL ::   kdom     ! Type of domain to be written (default = jpdom_local_noovlap) 
    677676      LOGICAL         , INTENT(in   ), OPTIONAL ::   ldstop   ! stop if open to read a non-existing file (default = .TRUE.) 
    678677      LOGICAL         , INTENT(in   ), OPTIONAL ::   ldiof    ! Interp On the Fly, needed for AGRIF (default = .FALSE.) 
     
    686685      LOGICAL               ::   llok      ! check the existence  
    687686      LOGICAL               ::   llwrt     ! local definition of ldwrt 
    688       LOGICAL               ::   llnoov    ! local definition to read overlap 
    689687      LOGICAL               ::   llstop    ! local definition of ldstop 
    690688      LOGICAL               ::   lliof     ! local definition of ldiof 
    691689      INTEGER               ::   icnt      ! counter for digits in clcpu (max = jpmax_digits) 
    692690      INTEGER               ::   iln, ils  ! lengths of character 
    693       INTEGER               ::   idom      ! type of domain 
    694691      INTEGER               ::   istop     !  
    695692      INTEGER, DIMENSION(2,5) ::   idompar ! domain parameters:  
     
    725722      ELSE                        ;   lliof = .FALSE. 
    726723      ENDIF 
    727       ! do we read the overlap  
    728       ! ugly patch SM+JMM+RB to overwrite global definition in some cases 
    729       llnoov = (jpni * jpnj ) == jpnij .AND. .NOT. lk_agrif 
    730724      ! create the file name by added, if needed, TRIM(Agrif_CFixed()) and TRIM(clsuffix) 
    731725      ! ============= 
     
    768762      ENDIF 
    769763      IF( llwrt ) THEN 
    770          ! check the domain definition 
    771 ! JMM + SM: ugly patch before getting the new version of lib_mpp) 
    772 !         idom = jpdom_local_noovlap   ! default definition 
    773          IF( llnoov ) THEN   ;   idom = jpdom_local_noovlap   ! default definition 
    774          ELSE                ;   idom = jpdom_local_full      ! default definition 
    775          ENDIF 
    776          IF( PRESENT(kdom) )   idom = kdom 
    777          ! create the domain informations 
    778          ! ============= 
    779          SELECT CASE (idom) 
    780          CASE (jpdom_local_full) 
    781             idompar(:,1) = (/ jpi             , jpj              /) 
    782             idompar(:,2) = (/ nimpp           , njmpp            /) 
    783             idompar(:,3) = (/ nimpp + jpi - 1 , njmpp + jpj - 1  /) 
    784             idompar(:,4) = (/ nldi - 1        , nldj - 1         /) 
    785             idompar(:,5) = (/ jpi - nlei      , jpj - nlej       /) 
    786          CASE (jpdom_local_noextra) 
    787             idompar(:,1) = (/ nlci            , nlcj             /) 
    788             idompar(:,2) = (/ nimpp           , njmpp            /) 
    789             idompar(:,3) = (/ nimpp + nlci - 1, njmpp + nlcj - 1 /) 
    790             idompar(:,4) = (/ nldi - 1        , nldj - 1         /) 
    791             idompar(:,5) = (/ nlci - nlei     , nlcj - nlej      /) 
    792          CASE (jpdom_local_noovlap) 
    793             idompar(:,1) = (/ nlei  - nldi + 1, nlej  - nldj + 1 /) 
    794             idompar(:,2) = (/ nimpp + nldi - 1, njmpp + nldj - 1 /) 
    795             idompar(:,3) = (/ nimpp + nlei - 1, njmpp + nlej - 1 /) 
    796             idompar(:,4) = (/ 0               , 0                /) 
    797             idompar(:,5) = (/ 0               , 0                /) 
    798          CASE DEFAULT 
    799             CALL ctl_stop( TRIM(clinfo), 'wrong value of kdom, only jpdom_local* cases are accepted' ) 
    800          END SELECT 
     764         idompar(:,1) = (/ nlei  - nldi + 1, nlej  - nldj + 1 /) 
     765         idompar(:,2) = (/ nimpp + nldi - 1, njmpp + nldj - 1 /) 
     766         idompar(:,3) = (/ nimpp + nlei - 1, njmpp + nlej - 1 /) 
     767         idompar(:,4) = (/ 0               , 0                /) 
     768         idompar(:,5) = (/ 0               , 0                /) 
    801769      ENDIF 
    802770      ! Open the NetCDF file 
     
    991959   END SUBROUTINE iom_g0d 
    992960 
    993    SUBROUTINE iom_g1d( kiomid, kdom, cdvar, pvar, ktime, kstart, kcount, ldxios ) 
     961   SUBROUTINE iom_g1d( kiomid, kdom, cdvar, pvar, ktime,                kstart, kcount, ldxios ) 
    994962      INTEGER         , INTENT(in   )                         ::   kiomid    ! Identifier of the file 
    995963      INTEGER         , INTENT(in   )                         ::   kdom      ! Type of domain to be read 
     
    1002970      ! 
    1003971      IF( kiomid > 0 ) THEN 
    1004          IF( iom_file(kiomid)%nfid > 0 ) CALL iom_get_123d( kiomid, kdom       , cdvar        , pv_r1d=pvar,   & 
    1005               &                                                     ktime=ktime, kstart=kstart, kcount=kcount, & 
    1006               &                                                    ldxios=ldxios ) 
     972         IF( iom_file(kiomid)%nfid > 0 ) CALL iom_get_123d( kiomid, kdom         , cdvar            , pv_r1d=pvar,   & 
     973            &                                                       ktime=ktime  ,                                  & 
     974            &                                                       kstart=kstart, kcount=kcount    , ldxios=ldxios ) 
    1007975      ENDIF 
    1008976   END SUBROUTINE iom_g1d 
    1009977 
    1010    SUBROUTINE iom_g2d( kiomid, kdom, cdvar, pvar, ktime, kstart, kcount, lrowattr, ldxios) 
    1011       INTEGER         , INTENT(in   )                           ::   kiomid    ! Identifier of the file 
    1012       INTEGER         , INTENT(in   )                           ::   kdom      ! Type of domain to be read 
    1013       CHARACTER(len=*), INTENT(in   )                           ::   cdvar     ! Name of the variable 
    1014       REAL(wp)        , INTENT(  out), DIMENSION(:,:)           ::   pvar      ! read field 
    1015       INTEGER         , INTENT(in   )                , OPTIONAL ::   ktime     ! record number 
    1016       INTEGER         , INTENT(in   ), DIMENSION(2)  , OPTIONAL ::   kstart    ! start axis position of the reading  
    1017       INTEGER         , INTENT(in   ), DIMENSION(2)  , OPTIONAL ::   kcount    ! number of points in each axis 
    1018       LOGICAL         , INTENT(in   )                , OPTIONAL ::   lrowattr  ! logical flag telling iom_get to 
    1019                                                                                ! look for and use a file attribute 
    1020                                                                                ! called open_ocean_jstart to set the start 
    1021                                                                                ! value for the 2nd dimension (netcdf only) 
    1022       LOGICAL         , INTENT(in   ),               OPTIONAL ::   ldxios      ! read data using XIOS 
     978   SUBROUTINE iom_g2d( kiomid, kdom, cdvar, pvar, ktime, cd_type, psgn, kstart, kcount, ldxios) 
     979      INTEGER         , INTENT(in   )                         ::   kiomid    ! Identifier of the file 
     980      INTEGER         , INTENT(in   )                         ::   kdom      ! Type of domain to be read 
     981      CHARACTER(len=*), INTENT(in   )                         ::   cdvar     ! Name of the variable 
     982      REAL(wp)        , INTENT(  out), DIMENSION(:,:)         ::   pvar      ! read field 
     983      INTEGER         , INTENT(in   )              , OPTIONAL ::   ktime     ! record number 
     984      CHARACTER(len=1), INTENT(in   )              , OPTIONAL ::   cd_type   ! nature of grid-points (T, U, V, F, W) 
     985      REAL(wp)        , INTENT(in   )              , OPTIONAL ::   psgn      ! -1.(1.): (not) change sign across the north fold 
     986      INTEGER         , INTENT(in   ), DIMENSION(2), OPTIONAL ::   kstart    ! start axis position of the reading  
     987      INTEGER         , INTENT(in   ), DIMENSION(2), OPTIONAL ::   kcount    ! number of points in each axis 
     988      LOGICAL         , INTENT(in   ),               OPTIONAL ::   ldxios    ! read data using XIOS 
    1023989      ! 
    1024990      IF( kiomid > 0 ) THEN 
    1025          IF( iom_file(kiomid)%nfid > 0 ) CALL iom_get_123d( kiomid, kdom       , cdvar        , pv_r2d=pvar,   & 
    1026               &                                                     ktime=ktime, kstart=kstart, kcount=kcount, & 
    1027               &                                                     lrowattr=lrowattr,  ldxios=ldxios) 
     991         IF( iom_file(kiomid)%nfid > 0 ) CALL iom_get_123d( kiomid, kdom         , cdvar            , pv_r2d=pvar,   & 
     992            &                                                       ktime=ktime  , cd_type = cd_type, psgn = psgn,  & 
     993            &                                                       kstart=kstart, kcount=kcount    , ldxios=ldxios  ) 
    1028994      ENDIF 
    1029995   END SUBROUTINE iom_g2d 
    1030996 
    1031    SUBROUTINE iom_g3d( kiomid, kdom, cdvar, pvar, ktime, kstart, kcount, lrowattr, ldxios ) 
    1032       INTEGER         , INTENT(in   )                             ::   kiomid    ! Identifier of the file 
    1033       INTEGER         , INTENT(in   )                             ::   kdom      ! Type of domain to be read 
    1034       CHARACTER(len=*), INTENT(in   )                             ::   cdvar     ! Name of the variable 
    1035       REAL(wp)        , INTENT(  out), DIMENSION(:,:,:)           ::   pvar      ! read field 
    1036       INTEGER         , INTENT(in   )                  , OPTIONAL ::   ktime     ! record number 
    1037       INTEGER         , INTENT(in   ), DIMENSION(3)    , OPTIONAL ::   kstart    ! start axis position of the reading  
    1038       INTEGER         , INTENT(in   ), DIMENSION(3)    , OPTIONAL ::   kcount    ! number of points in each axis 
    1039       LOGICAL         , INTENT(in   )                  , OPTIONAL ::   lrowattr  ! logical flag telling iom_get to 
    1040                                                                                  ! look for and use a file attribute 
    1041                                                                                  ! called open_ocean_jstart to set the start 
    1042                                                                                  ! value for the 2nd dimension (netcdf only) 
    1043       LOGICAL         , INTENT(in   ),               OPTIONAL ::   ldxios        ! read data using XIOS 
     997   SUBROUTINE iom_g3d( kiomid, kdom, cdvar, pvar, ktime, cd_type, psgn, kstart, kcount, ldxios ) 
     998      INTEGER         , INTENT(in   )                         ::   kiomid    ! Identifier of the file 
     999      INTEGER         , INTENT(in   )                         ::   kdom      ! Type of domain to be read 
     1000      CHARACTER(len=*), INTENT(in   )                         ::   cdvar     ! Name of the variable 
     1001      REAL(wp)        , INTENT(  out), DIMENSION(:,:,:)       ::   pvar      ! read field 
     1002      INTEGER         , INTENT(in   )              , OPTIONAL ::   ktime     ! record number 
     1003      CHARACTER(len=1), INTENT(in   )              , OPTIONAL ::   cd_type   ! nature of grid-points (T, U, V, F, W) 
     1004      REAL(wp)        , INTENT(in   )              , OPTIONAL ::   psgn      ! -1.(1.) : (not) change sign across the north fold 
     1005      INTEGER         , INTENT(in   ), DIMENSION(3), OPTIONAL ::   kstart    ! start axis position of the reading  
     1006      INTEGER         , INTENT(in   ), DIMENSION(3), OPTIONAL ::   kcount    ! number of points in each axis 
     1007      LOGICAL         , INTENT(in   ),               OPTIONAL ::   ldxios    ! read data using XIOS 
    10441008      ! 
    10451009      IF( kiomid > 0 ) THEN 
    1046          IF( iom_file(kiomid)%nfid > 0 ) CALL iom_get_123d( kiomid, kdom       , cdvar        , pv_r3d=pvar,   & 
    1047               &                                                     ktime=ktime, kstart=kstart, kcount=kcount, & 
    1048               &                                                     lrowattr=lrowattr, ldxios=ldxios ) 
     1010         IF( iom_file(kiomid)%nfid > 0 ) CALL iom_get_123d( kiomid, kdom         , cdvar            , pv_r3d=pvar,   & 
     1011            &                                                       ktime=ktime  , cd_type = cd_type, psgn = psgn,  & 
     1012            &                                                       kstart=kstart, kcount=kcount    , ldxios=ldxios ) 
    10491013      ENDIF 
    10501014   END SUBROUTINE iom_g3d 
    10511015   !!---------------------------------------------------------------------- 
    10521016 
    1053    SUBROUTINE iom_get_123d( kiomid, kdom  , cdvar ,   & 
    1054          &                  pv_r1d, pv_r2d, pv_r3d,   & 
    1055          &                  ktime , kstart, kcount,   & 
    1056          &                  lrowattr, ldxios        ) 
     1017   SUBROUTINE iom_get_123d( kiomid, kdom   , cdvar , pv_r1d, pv_r2d, pv_r3d,   & 
     1018         &                  ktime , cd_type, psgn  , kstart, kcount, ldxios ) 
    10571019      !!----------------------------------------------------------------------- 
    10581020      !!                  ***  ROUTINE  iom_get_123d  *** 
     
    10621024      !! ** Method : read ONE record at each CALL 
    10631025      !!----------------------------------------------------------------------- 
    1064       INTEGER                    , INTENT(in   )           ::   kiomid     ! Identifier of the file 
    1065       INTEGER                    , INTENT(in   )           ::   kdom       ! Type of domain to be read 
    1066       CHARACTER(len=*)           , INTENT(in   )           ::   cdvar      ! Name of the variable 
    1067       REAL(wp), DIMENSION(:)     , INTENT(  out), OPTIONAL ::   pv_r1d     ! read field (1D case) 
    1068       REAL(wp), DIMENSION(:,:)   , INTENT(  out), OPTIONAL ::   pv_r2d     ! read field (2D case) 
    1069       REAL(wp), DIMENSION(:,:,:) , INTENT(  out), OPTIONAL ::   pv_r3d     ! read field (3D case) 
    1070       INTEGER                    , INTENT(in   ), OPTIONAL ::   ktime      ! record number 
    1071       INTEGER , DIMENSION(:)     , INTENT(in   ), OPTIONAL ::   kstart     ! start position of the reading in each axis  
    1072       INTEGER , DIMENSION(:)     , INTENT(in   ), OPTIONAL ::   kcount     ! number of points to be read in each axis 
    1073       LOGICAL                    , INTENT(in   ), OPTIONAL ::   lrowattr   ! logical flag telling iom_get to 
    1074                                                                            ! look for and use a file attribute 
    1075                                                                            ! called open_ocean_jstart to set the start 
    1076                                                                            ! value for the 2nd dimension (netcdf only) 
    1077       LOGICAL                    , INTENT(in   ), OPTIONAL ::   ldxios     ! use XIOS to read restart 
    1078       ! 
    1079       LOGICAL                        ::   llxios       ! local definition for XIOS read 
    1080       LOGICAL                        ::   llnoov      ! local definition to read overlap 
    1081       LOGICAL                        ::   luse_jattr  ! local definition to read open_ocean_jstart file attribute 
    1082       INTEGER                        ::   jstartrow   ! start point for 2nd dimension optionally set by file attribute 
     1026      INTEGER                    , INTENT(in   )           ::   kiomid    ! Identifier of the file 
     1027      INTEGER                    , INTENT(in   )           ::   kdom      ! Type of domain to be read 
     1028      CHARACTER(len=*)           , INTENT(in   )           ::   cdvar     ! Name of the variable 
     1029      REAL(wp), DIMENSION(:)     , INTENT(  out), OPTIONAL ::   pv_r1d    ! read field (1D case) 
     1030      REAL(wp), DIMENSION(:,:)   , INTENT(  out), OPTIONAL ::   pv_r2d    ! read field (2D case) 
     1031      REAL(wp), DIMENSION(:,:,:) , INTENT(  out), OPTIONAL ::   pv_r3d    ! read field (3D case) 
     1032      INTEGER                    , INTENT(in   ), OPTIONAL ::   ktime     ! record number 
     1033      CHARACTER(len=1)           , INTENT(in   ), OPTIONAL ::   cd_type   ! nature of grid-points (T, U, V, F, W) 
     1034      REAL(wp)                   , INTENT(in   ), OPTIONAL ::   psgn      ! -1.(1.) : (not) change sign across the north fold 
     1035      INTEGER , DIMENSION(:)     , INTENT(in   ), OPTIONAL ::   kstart    ! start position of the reading in each axis  
     1036      INTEGER , DIMENSION(:)     , INTENT(in   ), OPTIONAL ::   kcount    ! number of points to be read in each axis 
     1037      LOGICAL                    , INTENT(in   ), OPTIONAL ::   ldxios    ! use XIOS to read restart 
     1038      ! 
     1039      LOGICAL                        ::   llok        ! true if ok! 
     1040      LOGICAL                        ::   llxios      ! local definition for XIOS read 
    10831041      INTEGER                        ::   jl          ! loop on number of dimension  
    10841042      INTEGER                        ::   idom        ! type of domain 
     
    10971055      INTEGER, DIMENSION(jpmax_dims) ::   ishape      ! size of the dimensions of the variable 
    10981056      REAL(wp)                       ::   zscf, zofs  ! sacle_factor and add_offset 
     1057      REAL(wp)                       ::   zsgn        ! local value of psgn 
    10991058      INTEGER                        ::   itmp        ! temporary integer 
    11001059      CHARACTER(LEN=256)             ::   clinfo      ! info character 
    11011060      CHARACTER(LEN=256)             ::   clname      ! file name 
    11021061      CHARACTER(LEN=1)               ::   clrankpv, cldmspc      !  
    1103       LOGICAL                        ::   ll_depth_spec ! T => if kstart, kcount present then *only* use values for 3rd spatial dimension. 
     1062      CHARACTER(LEN=1)               ::   cl_type     ! local value of cd_type 
     1063      LOGICAL                        ::   ll_only3rd  ! T => if kstart, kcount present then *only* use values for 3rd spatial dimension. 
    11041064      INTEGER                        ::   inlev       ! number of levels for 3D data 
    11051065      REAL(wp)                       ::   gma, gmi 
     
    11101070      ! 
    11111071      llxios = .FALSE. 
    1112       if(PRESENT(ldxios)) llxios = ldxios 
    1113       idvar = iom_varid( kiomid, cdvar )  
     1072      IF( PRESENT(ldxios) )  llxios = ldxios 
     1073      ! 
    11141074      idom = kdom 
     1075      istop = nstop 
    11151076      ! 
    11161077      IF(.NOT.llxios) THEN 
    11171078         clname = iom_file(kiomid)%name   !   esier to read 
    11181079         clinfo = '          iom_get_123d, file: '//trim(clname)//', var: '//trim(cdvar) 
    1119          ! local definition of the domain ? 
    1120          ! do we read the overlap  
    1121          ! ugly patch SM+JMM+RB to overwrite global definition in some cases 
    1122          llnoov = (jpni * jpnj ) == jpnij .AND. .NOT. lk_agrif  
    11231080         ! check kcount and kstart optionals parameters... 
    1124          IF( PRESENT(kcount) .AND. (.NOT. PRESENT(kstart)) ) CALL ctl_stop(trim(clinfo), 'kcount present needs kstart present') 
    1125          IF( PRESENT(kstart) .AND. (.NOT. PRESENT(kcount)) ) CALL ctl_stop(trim(clinfo), 'kstart present needs kcount present') 
    1126          IF( PRESENT(kstart) .AND. idom /= jpdom_unknown .AND.  idom /= jpdom_autoglo_xy  ) & 
    1127      &          CALL ctl_stop(trim(clinfo), 'kstart present needs kdom = jpdom_unknown or kdom = jpdom_autoglo_xy') 
    1128  
    1129          luse_jattr = .false. 
    1130          IF( PRESENT(lrowattr) ) THEN 
    1131             IF( lrowattr .AND. idom /= jpdom_data   ) CALL ctl_stop(trim(clinfo), 'lrowattr present and true needs kdom = jpdom_data') 
    1132             IF( lrowattr .AND. idom == jpdom_data   ) luse_jattr = .true. 
    1133          ENDIF 
    1134  
     1081         IF( PRESENT(kcount) .AND. .NOT. PRESENT(kstart) ) CALL ctl_stop(trim(clinfo), 'kcount present needs kstart present') 
     1082         IF( PRESENT(kstart) .AND. .NOT. PRESENT(kcount) ) CALL ctl_stop(trim(clinfo), 'kstart present needs kcount present') 
     1083         IF( PRESENT(kstart) .AND. idom /= jpdom_unknown .AND.  idom /= jpdom_auto_xy  ) & 
     1084            &          CALL ctl_stop(TRIM(clinfo), 'kstart present needs idom = jpdom_unknown or idom = jpdom_auto_xy') 
     1085         ! 
    11351086         ! Search for the variable in the data base (eventually actualize data) 
    1136          istop = nstop 
    11371087         ! 
     1088         idvar = iom_varid( kiomid, cdvar )  
    11381089         IF( idvar > 0 ) THEN 
    1139             ! to write iom_file(kiomid)%dimsz in a shorter way ! 
    1140             idimsz(:) = iom_file(kiomid)%dimsz(:, idvar)  
     1090            ! 
     1091            idimsz(:) = iom_file(kiomid)%dimsz(:, idvar)      ! to write iom_file(kiomid)%dimsz in a shorter way 
    11411092            inbdim = iom_file(kiomid)%ndims(idvar)            ! number of dimensions in the file 
    11421093            idmspc = inbdim                                   ! number of spatial dimensions in the file 
     
    11441095            IF( idmspc > 3 )   CALL ctl_stop(trim(clinfo), 'the file has more than 3 spatial dimensions this case is not coded...')  
    11451096            ! 
    1146             ! update idom definition... 
    1147             ! Identify the domain in case of jpdom_auto(glo/dta) definition 
    1148             IF( idom == jpdom_autoglo_xy ) THEN 
    1149                ll_depth_spec = .TRUE. 
    1150                idom = jpdom_autoglo 
    1151             ELSE 
    1152                ll_depth_spec = .FALSE. 
    1153             ENDIF 
    1154             IF( idom == jpdom_autoglo .OR. idom == jpdom_autodta ) THEN             
    1155                IF( idom == jpdom_autoglo ) THEN   ;   idom = jpdom_global  
    1156                ELSE                               ;   idom = jpdom_data 
    1157                ENDIF 
     1097            ! Identify the domain in case of jpdom_auto definition 
     1098            ll_only3rd = idom == jpdom_auto_xy             ! depth is specified if idom == jpdom_auto_xy  
     1099            IF( idom == jpdom_auto .OR. idom == jpdom_auto_xy ) THEN             
     1100               idom = jpdom_global   ! default 
     1101               ! else: if the file name finishes with _xxxx.nc with xxxx any number 
    11581102               ind1 = INDEX( clname, '_', back = .TRUE. ) + 1 
    11591103               ind2 = INDEX( clname, '.', back = .TRUE. ) - 1 
    11601104               IF( ind2 > ind1 ) THEN   ;   IF( VERIFY( clname(ind1:ind2), '0123456789' ) == 0 )   idom = jpdom_local   ;   ENDIF 
    1161             ENDIF 
    1162             ! Identify the domain in case of jpdom_local definition 
    1163             IF( idom == jpdom_local ) THEN 
    1164                IF(     idimsz(1) == jpi               .AND. idimsz(2) == jpj               ) THEN   ;   idom = jpdom_local_full 
    1165                ELSEIF( idimsz(1) == nlci              .AND. idimsz(2) == nlcj              ) THEN   ;   idom = jpdom_local_noextra 
    1166                ELSEIF( idimsz(1) == (nlei - nldi + 1) .AND. idimsz(2) == (nlej - nldj + 1) ) THEN   ;   idom = jpdom_local_noovlap 
    1167                ELSE   ;   CALL ctl_stop( trim(clinfo), 'impossible to identify the local domain' ) 
    1168                ENDIF 
    11691105            ENDIF 
    11701106            ! 
     
    11791115            WRITE(cldmspc , fmt='(i1)') idmspc 
    11801116            ! 
    1181             !!GS: we consider 2D data as 3D data with vertical dim size = 1 
    1182             !IF(     idmspc <  irankpv ) THEN  
    1183             !   CALL ctl_stop( TRIM(clinfo), 'The file has only '//cldmspc//' spatial dimension',   & 
    1184             !      &                         'it is impossible to read a '//clrankpv//'D array from this file...' ) 
    1185             !ELSEIF( idmspc == irankpv ) THEN 
    1186             IF( idmspc == irankpv ) THEN 
     1117            IF(     idmspc <  irankpv ) THEN                     ! it seems we want to read more than we can... 
     1118               IF(     irankpv == 3 .AND. idmspc == 2 ) THEN     !   3D input array from 2D spatial data in the file: 
     1119                  llok = inlev == 1                              !     -> 3rd dimension must be equal to 1 
     1120               ELSEIF( irankpv == 3 .AND. idmspc == 1 ) THEN     !   3D input array from 1D spatial data in the file: 
     1121                  llok = inlev == 1 .AND. SIZE(pv_r3d, 2) == 1   !     -> 2nd and 3rd dimensions must be equal to 1 
     1122               ELSEIF( irankpv == 2 .AND. idmspc == 2 ) THEN     !   2D input array from 1D spatial data in the file: 
     1123                  llok = SIZE(pv_r2d, 2) == 1                    !     -> 2nd dimension must be equal to 1 
     1124               ELSE 
     1125                  llok = .FALSE. 
     1126               ENDIF 
     1127               IF( .NOT. llok )   CALL ctl_stop( TRIM(clinfo), 'The file has only '//cldmspc//' spatial dimension',   & 
     1128                  &                                            '=> cannot read a true '//clrankpv//'D array from this file...' ) 
     1129            ELSEIF( idmspc == irankpv ) THEN 
    11871130               IF( PRESENT(pv_r1d) .AND. idom /= jpdom_unknown )   & 
    11881131                  &   CALL ctl_stop( TRIM(clinfo), 'case not coded...You must use jpdom_unknown' ) 
    1189             ELSEIF( idmspc >  irankpv ) THEN 
     1132            ELSEIF( idmspc >  irankpv ) THEN                     ! it seems we want to read less than we should... 
    11901133                  IF( PRESENT(pv_r2d) .AND. itime == 1 .AND. idimsz(3) == 1 .AND. idmspc == 3 ) THEN 
    1191                      CALL ctl_warn( trim(clinfo), '2D array but 3 spatial dimensions for the data...'              ,   & 
     1134                     CALL ctl_warn( trim(clinfo), '2D array input but 3 spatial dimensions in the file...'              ,   & 
    11921135                           &         'As the size of the z dimension is 1 and as we try to read the first record, ',   & 
    11931136                           &         'we accept this case, even if there is a possible mix-up between z and time dimension' )    
     
    12021145            ! definition of istart and icnt 
    12031146            ! 
    1204             icnt  (:) = 1 
    1205             istart(:) = 1 
     1147            icnt  (:) = 1   ! default definition (simple way to deal with special cases listed above)  
     1148            istart(:) = 1   ! default definition (simple way to deal with special cases listed above)  
    12061149            istart(idmspc+1) = itime 
    1207     
    1208             IF( PRESENT(kstart) .AND. .NOT. ll_depth_spec ) THEN  
     1150            ! 
     1151            IF( PRESENT(kstart) .AND. .NOT. ll_only3rd ) THEN  
    12091152               istart(1:idmspc) = kstart(1:idmspc)  
    12101153               icnt  (1:idmspc) = kcount(1:idmspc) 
     
    12141157               ELSE  
    12151158                  IF( .NOT. PRESENT(pv_r1d) ) THEN   !   not a 1D array 
    1216                      IF(     idom == jpdom_data    ) THEN 
    1217                         jstartrow = 1 
    1218                         IF( luse_jattr ) THEN 
    1219                            CALL iom_getatt(kiomid, 'open_ocean_jstart', jstartrow ) ! -999 is returned if the attribute is not found 
    1220                            jstartrow = MAX(1,jstartrow) 
    1221                         ENDIF 
    1222                         istart(1:2) = (/ mig(1), mjg(1) + jstartrow - 1 /)  ! icnt(1:2) done below 
    1223                      ELSEIF( idom == jpdom_global  ) THEN ; istart(1:2) = (/ nimpp , njmpp  /)  ! icnt(1:2) done below 
    1224                      ENDIF 
    1225                      ! we do not read the overlap                     -> we start to read at nldi, nldj 
    1226 ! JMM + SM: ugly patch before getting the new version of lib_mpp) 
    1227 !                  IF( idom /= jpdom_local_noovlap )   istart(1:2) = istart(1:2) + (/ nldi - 1, nldj - 1 /) 
    1228                      IF( llnoov .AND. idom /= jpdom_local_noovlap ) istart(1:2) = istart(1:2) + (/ nldi - 1, nldj - 1 /) 
    1229                   ! we do not read the overlap and the extra-halos -> from nldi to nlei and from nldj to nlej  
    1230 ! JMM + SM: ugly patch before getting the new version of lib_mpp) 
    1231 !                  icnt(1:2) = (/ nlei - nldi + 1, nlej - nldj + 1 /) 
    1232                      IF( llnoov ) THEN   ;   icnt(1:2) = (/ nlei - nldi + 1, nlej - nldj + 1 /) 
    1233                      ELSE                ;   icnt(1:2) = (/ nlci           , nlcj            /) 
    1234                      ENDIF 
     1159                     ! we do not read the overlap and the extra-halos -> from nldi to nlei and from nldj to nlej  
     1160                     IF( idom == jpdom_global )   istart(1:2) = (/ mig(nldi), mjg(nldj) /) 
     1161                     icnt(1:2) = (/ nlei - nldi + 1, nlej - nldj + 1 /) 
    12351162                     IF( PRESENT(pv_r3d) ) THEN 
    1236                         IF( idom == jpdom_data ) THEN                        ;                               icnt(3) = inlev 
    1237                         ELSEIF( ll_depth_spec .AND. PRESENT(kstart) ) THEN   ;   istart(3) = kstart(3)   ;   icnt(3) = kcount(3) 
    1238                         ELSE                                                 ;                               icnt(3) = inlev 
     1163                        IF( ll_only3rd .AND. PRESENT(kstart) ) THEN   ;   istart(3) = kstart(3)   ;   icnt(3) = kcount(3) 
     1164                        ELSE                                          ;                               icnt(3) = inlev 
    12391165                        ENDIF 
    12401166                     ENDIF 
     
    12421168               ENDIF 
    12431169            ENDIF 
    1244  
     1170            ! 
    12451171            ! check that istart and icnt can be used with this file 
    12461172            !- 
     
    12531179               ENDIF 
    12541180            END DO 
    1255  
     1181            ! 
    12561182            ! check that icnt matches the input array 
    12571183            !-      
     
    12631189            ELSE 
    12641190               IF( irankpv == 2 ) THEN 
    1265 ! JMM + SM: ugly patch before getting the new version of lib_mpp) 
    1266 !               ishape(1:2) = SHAPE(pv_r2d(nldi:nlei,nldj:nlej  ))   ;   ctmp1 = 'd(nldi:nlei,nldj:nlej)' 
    1267                   IF( llnoov ) THEN ; ishape(1:2)=SHAPE(pv_r2d(nldi:nlei,nldj:nlej  )) ; ctmp1='d(nldi:nlei,nldj:nlej)' 
    1268                   ELSE              ; ishape(1:2)=SHAPE(pv_r2d(1   :nlci,1   :nlcj  )) ; ctmp1='d(1:nlci,1:nlcj)' 
    1269                   ENDIF 
     1191                  ishape(1:2) = SHAPE(pv_r2d(nldi:nlei,nldj:nlej  ))   ;   ctmp1 = 'd(nldi:nlei,nldj:nlej)' 
    12701192               ENDIF 
    12711193               IF( irankpv == 3 ) THEN  
    1272 ! JMM + SM: ugly patch before getting the new version of lib_mpp) 
    1273 !               ishape(1:3) = SHAPE(pv_r3d(nldi:nlei,nldj:nlej,:))   ;   ctmp1 = 'd(nldi:nlei,nldj:nlej,:)' 
    1274                   IF( llnoov ) THEN ; ishape(1:3)=SHAPE(pv_r3d(nldi:nlei,nldj:nlej,:)) ; ctmp1='d(nldi:nlei,nldj:nlej,:)' 
    1275                   ELSE              ; ishape(1:3)=SHAPE(pv_r3d(1   :nlci,1   :nlcj,:)) ; ctmp1='d(1:nlci,1:nlcj,:)' 
    1276                   ENDIF 
     1194                  ishape(1:3) = SHAPE(pv_r3d(nldi:nlei,nldj:nlej,:))   ;   ctmp1 = 'd(nldi:nlei,nldj:nlej,:)' 
    12771195               ENDIF 
    1278             ENDIF 
    1279           
     1196            ENDIF          
    12801197            DO jl = 1, irankpv 
    12811198               WRITE( ctmp2, FMT="(', ', i1,'): ', i5,' /= icnt(', i1,'):', i5)" ) jl, ishape(jl), jl, icnt(jl) 
     
    12891206         IF( idvar > 0 .AND. istop == nstop ) THEN   ! no additional errors until this point... 
    12901207            ! 
    1291          ! find the right index of the array to be read 
    1292 ! JMM + SM: ugly patch before getting the new version of lib_mpp) 
    1293 !         IF( idom /= jpdom_unknown ) THEN   ;   ix1 = nldi   ;   ix2 = nlei      ;   iy1 = nldj   ;   iy2 = nlej 
    1294 !         ELSE                               ;   ix1 = 1      ;   ix2 = icnt(1)   ;   iy1 = 1      ;   iy2 = icnt(2) 
    1295 !         ENDIF 
    1296             IF( llnoov ) THEN 
    1297                IF( idom /= jpdom_unknown ) THEN   ;   ix1 = nldi   ;   ix2 = nlei      ;   iy1 = nldj   ;   iy2 = nlej 
    1298                ELSE                               ;   ix1 = 1      ;   ix2 = icnt(1)   ;   iy1 = 1      ;   iy2 = icnt(2) 
    1299                ENDIF 
    1300             ELSE 
    1301                IF( idom /= jpdom_unknown ) THEN   ;   ix1 = 1      ;   ix2 = nlci      ;   iy1 = 1      ;   iy2 = nlcj 
    1302                ELSE                               ;   ix1 = 1      ;   ix2 = icnt(1)   ;   iy1 = 1      ;   iy2 = icnt(2) 
    1303                ENDIF 
     1208            ! find the right index of the array to be read 
     1209            IF( idom /= jpdom_unknown ) THEN   ;   ix1 = nldi   ;   ix2 = nlei      ;   iy1 = nldj   ;   iy2 = nlej 
     1210            ELSE                               ;   ix1 = 1      ;   ix2 = icnt(1)   ;   iy1 = 1      ;   iy2 = icnt(2) 
    13041211            ENDIF 
    13051212       
     
    13081215            IF( istop == nstop ) THEN   ! no additional errors until this point... 
    13091216               IF(lwp) WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name) 
    1310               
     1217 
     1218               cl_type = 'T' 
     1219               IF( PRESENT(cd_type) )   cl_type = cd_type 
     1220               zsgn = 1._wp 
     1221               IF( PRESENT(psgn   ) )   zsgn    = psgn 
    13111222               !--- overlap areas and extra hallows (mpp) 
    13121223               IF(     PRESENT(pv_r2d) .AND. idom /= jpdom_unknown ) THEN 
    1313                   CALL lbc_lnk( 'iom', pv_r2d,'Z', -999., kfillmode = jpfillnothing ) 
     1224                  CALL lbc_lnk( 'iom', pv_r2d, cl_type, zsgn, kfillmode = jpfillnothing ) 
    13141225               ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 
    1315                   ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 
    1316                   IF( icnt(3) == inlev ) THEN 
    1317                      CALL lbc_lnk( 'iom', pv_r3d,'Z', -999., kfillmode = jpfillnothing ) 
    1318                   ELSE   ! put some arbitrary value (a call to lbc_lnk will be done later...) 
    1319                      DO jj = nlcj+1, jpj   ;   pv_r3d(1:nlci, jj, :) = pv_r3d(1:nlci, nlej, :)   ;   END DO 
    1320                      DO ji = nlci+1, jpi   ;   pv_r3d(ji    , : , :) = pv_r3d(nlei  , :   , :)   ;   END DO 
    1321                   ENDIF 
     1226                  CALL lbc_lnk( 'iom', pv_r3d, cl_type, zsgn, kfillmode = jpfillnothing ) 
    13221227               ENDIF 
    13231228               ! 
     
    13361241         CALL iom_swap( TRIM(crxios_context) )  
    13371242         IF( PRESENT(pv_r3d) ) THEN 
    1338             pv_r3d(:, :, :) = 0. 
    1339             if(lwp) write(numout,*) 'XIOS RST READ (3D): ',trim(cdvar) 
     1243            IF(lwp) WRITE(numout,*) 'XIOS RST READ (3D): ',TRIM(cdvar) 
    13401244            CALL xios_recv_field( trim(cdvar), pv_r3d) 
    1341             IF(idom /= jpdom_unknown ) then 
    1342                 CALL lbc_lnk( 'iom', pv_r3d,'Z', -999., kfillmode = jpfillnothing) 
    1343             ENDIF 
     1245            IF(idom /= jpdom_unknown )   CALL lbc_lnk( 'iom', pv_r3d,'Z', -999., kfillmode = jpfillnothing) 
    13441246         ELSEIF( PRESENT(pv_r2d) ) THEN 
    1345             pv_r2d(:, :) = 0. 
    1346             if(lwp) write(numout,*) 'XIOS RST READ (2D): ', trim(cdvar) 
     1247            IF(lwp) WRITE(numout,*) 'XIOS RST READ (2D): ', TRIM(cdvar) 
    13471248            CALL xios_recv_field( trim(cdvar), pv_r2d) 
    1348             IF(idom /= jpdom_unknown ) THEN 
    1349                 CALL lbc_lnk('iom', pv_r2d,'Z',-999., kfillmode = jpfillnothing) 
    1350             ENDIF 
     1249            IF(idom /= jpdom_unknown )   CALL lbc_lnk('iom', pv_r2d,'Z',-999., kfillmode = jpfillnothing) 
    13511250         ELSEIF( PRESENT(pv_r1d) ) THEN 
    1352             pv_r1d(:) = 0. 
    1353             if(lwp) write(numout,*) 'XIOS RST READ (1D): ', trim(cdvar) 
     1251            IF(lwp) WRITE(numout,*) 'XIOS RST READ (1D): ', TRIM(cdvar) 
    13541252            CALL xios_recv_field( trim(cdvar), pv_r1d) 
    13551253         ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/IOM/iom_def.F90

    r12377 r12738  
    1313   PRIVATE 
    1414 
    15    INTEGER, PARAMETER, PUBLIC ::   jpdom_data          = 1   !: ( 1  :jpiglo, 1  :jpjglo)    !!gm to be suppressed 
    16    INTEGER, PARAMETER, PUBLIC ::   jpdom_global        = 2   !: ( 1  :jpiglo, 1  :jpjglo) 
    17    INTEGER, PARAMETER, PUBLIC ::   jpdom_local         = 3   !: One of the 3 following cases 
    18    INTEGER, PARAMETER, PUBLIC ::   jpdom_local_full    = 4   !: ( 1  :jpi   , 1  :jpi   ) 
    19    INTEGER, PARAMETER, PUBLIC ::   jpdom_local_noextra = 5   !: ( 1  :nlci  , 1  :nlcj  ) 
    20    INTEGER, PARAMETER, PUBLIC ::   jpdom_local_noovlap = 6   !: (nldi:nlei  ,nldj:nlej  ) 
    21    INTEGER, PARAMETER, PUBLIC ::   jpdom_unknown       = 7   !: No dimension checking 
    22    INTEGER, PARAMETER, PUBLIC ::   jpdom_autoglo       = 8   !:  
    23    INTEGER, PARAMETER, PUBLIC ::   jpdom_autoglo_xy    = 9   !: Automatically set horizontal dimensions only 
    24    INTEGER, PARAMETER, PUBLIC ::   jpdom_autodta       = 10  !:  
     15   INTEGER, PARAMETER, PUBLIC ::   jpdom_global        = 1   !: ( 1  :jpiglo, 1  :jpjglo) 
     16   INTEGER, PARAMETER, PUBLIC ::   jpdom_local         = 2   !: (nldi:nlei  ,nldj:nlej  ) 
     17   INTEGER, PARAMETER, PUBLIC ::   jpdom_unknown       = 3   !: No dimension checking 
     18   INTEGER, PARAMETER, PUBLIC ::   jpdom_auto          = 4   !:  
     19   INTEGER, PARAMETER, PUBLIC ::   jpdom_auto_xy       = 5   !: Automatically set horizontal dimensions only 
    2520 
    2621   INTEGER, PARAMETER, PUBLIC ::   jp_r8    = 200      !: write REAL(8) 
     
    3530   INTEGER, PARAMETER, PUBLIC ::   jpmax_digits =  5   !: maximum number of digits for the cpu number in the file name 
    3631 
    37  
    3832!$AGRIF_DO_NOT_TREAT 
    3933   INTEGER, PUBLIC            ::   iom_open_init = 0   !: used to initialize iom_file(:)%nfid to 0 
     
    4539   LOGICAL, PUBLIC            ::   lxios_sini = .FALSE. ! is restart in a single file 
    4640   LOGICAL, PUBLIC            ::   lxios_set  = .FALSE.  
    47  
    48  
    4941 
    5042   TYPE, PUBLIC ::   file_descriptor 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/IOM/restart.F90

    r12489 r12738  
    259259       
    260260      ! Diurnal DSST  
    261       IF( ln_diurnal ) CALL iom_get( numror, jpdom_autoglo, 'Dsst' , x_dsst, ldxios = lrxios )  
     261      IF( ln_diurnal ) CALL iom_get( numror, jpdom_auto, 'Dsst' , x_dsst, ldxios = lrxios )  
    262262      IF ( ln_diurnal_only ) THEN  
    263263         IF(lwp) WRITE( numout, * ) & 
    264264         &   "rst_read:- ln_diurnal_only set, setting rhop=rho0"  
    265265         rhop = rho0 
    266          CALL iom_get( numror, jpdom_autoglo, 'tn'     , w3d, ldxios = lrxios )  
     266         CALL iom_get( numror, jpdom_auto, 'tn'     , w3d, ldxios = lrxios )  
    267267         ts(:,:,1,jp_tem,Kmm) = w3d(:,:,1) 
    268268         RETURN  
     
    270270       
    271271      IF( iom_varid( numror, 'ub', ldstop = .FALSE. ) > 0 ) THEN 
    272          CALL iom_get( numror, jpdom_autoglo, 'ub'     , uu(:,:,:       ,Kbb), ldxios = lrxios )   ! before fields 
    273          CALL iom_get( numror, jpdom_autoglo, 'vb'     , vv(:,:,:       ,Kbb), ldxios = lrxios ) 
    274          CALL iom_get( numror, jpdom_autoglo, 'tb'     , ts(:,:,:,jp_tem,Kbb), ldxios = lrxios ) 
    275          CALL iom_get( numror, jpdom_autoglo, 'sb'     , ts(:,:,:,jp_sal,Kbb), ldxios = lrxios ) 
    276          CALL iom_get( numror, jpdom_autoglo, 'sshb'   ,ssh(:,:         ,Kbb), ldxios = lrxios ) 
     272         ! before fields 
     273         CALL iom_get( numror, jpdom_auto, 'ub'     , uu(:,:,:       ,Kbb), ldxios = lrxios, cd_type = 'U', psgn = -1._wp ) 
     274         CALL iom_get( numror, jpdom_auto, 'vb'     , vv(:,:,:       ,Kbb), ldxios = lrxios, cd_type = 'V', psgn = -1._wp ) 
     275         CALL iom_get( numror, jpdom_auto, 'tb'     , ts(:,:,:,jp_tem,Kbb), ldxios = lrxios ) 
     276         CALL iom_get( numror, jpdom_auto, 'sb'     , ts(:,:,:,jp_sal,Kbb), ldxios = lrxios ) 
     277         CALL iom_get( numror, jpdom_auto, 'sshb'   ,ssh(:,:         ,Kbb), ldxios = lrxios ) 
    277278      ELSE 
    278279         l_1st_euler =  .TRUE.      ! before field not found, forced euler 1st time-step 
    279280      ENDIF 
    280281      ! 
    281       CALL iom_get( numror, jpdom_autoglo, 'un'     , uu(:,:,:       ,Kmm), ldxios = lrxios )       ! now    fields 
    282       CALL iom_get( numror, jpdom_autoglo, 'vn'     , vv(:,:,:       ,Kmm), ldxios = lrxios ) 
    283       CALL iom_get( numror, jpdom_autoglo, 'tn'     , ts(:,:,:,jp_tem,Kmm), ldxios = lrxios ) 
    284       CALL iom_get( numror, jpdom_autoglo, 'sn'     , ts(:,:,:,jp_sal,Kmm), ldxios = lrxios ) 
    285       CALL iom_get( numror, jpdom_autoglo, 'sshn'   ,ssh(:,:         ,Kmm), ldxios = lrxios ) 
     282      ! now fields 
     283      CALL iom_get( numror, jpdom_auto, 'un'     , uu(:,:,:       ,Kmm), ldxios = lrxios, cd_type = 'U', psgn = -1._wp ) 
     284      CALL iom_get( numror, jpdom_auto, 'vn'     , vv(:,:,:       ,Kmm), ldxios = lrxios, cd_type = 'V', psgn = -1._wp ) 
     285      CALL iom_get( numror, jpdom_auto, 'tn'     , ts(:,:,:,jp_tem,Kmm), ldxios = lrxios ) 
     286      CALL iom_get( numror, jpdom_auto, 'sn'     , ts(:,:,:,jp_sal,Kmm), ldxios = lrxios ) 
     287      CALL iom_get( numror, jpdom_auto, 'sshn'   ,ssh(:,:         ,Kmm), ldxios = lrxios ) 
    286288      IF( iom_varid( numror, 'rhop', ldstop = .FALSE. ) > 0 ) THEN 
    287          CALL iom_get( numror, jpdom_autoglo, 'rhop'   , rhop, ldxios = lrxios )   ! now    potential density 
     289         CALL iom_get( numror, jpdom_auto, 'rhop'   , rhop, ldxios = lrxios )   ! now    potential density 
    288290      ELSE 
    289291         CALL eos( ts(:,:,:,:,Kmm), rhd, rhop, gdept(:,:,:,Kmm) )    
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ISF/isfcpl.F90

    r12489 r12738  
    166166      !!---------------------------------------------------------------------- 
    167167      ! 
    168       CALL iom_get( numror, jpdom_autoglo, 'ssmask'  , zssmask_b, ldxios = lrxios   ) ! need to extrapolate T/S 
     168      CALL iom_get( numror, jpdom_auto, 'ssmask'  , zssmask_b, ldxios = lrxios   ) ! need to extrapolate T/S 
    169169 
    170170      ! compute new ssh if we open a full water column  
     
    245245      !!---------------------------------------------------------------------- 
    246246      !  
    247       CALL iom_get( numror, jpdom_autoglo, 'tmask'  , ztmask_b, ldxios = lrxios   ) ! need to extrapolate T/S 
    248       !CALL iom_get( numror, jpdom_autoglo, 'wmask'  , zwmask_b, ldxios = lrxios   ) ! need to extrapolate T/S 
    249       !CALL iom_get( numror, jpdom_autoglo, 'gdepw_n', zdepw_b(:,:,:), ldxios = lrxios ) ! need to interpol vertical profile (vvl) 
     247      CALL iom_get( numror, jpdom_auto, 'tmask'  , ztmask_b, ldxios = lrxios   ) ! need to extrapolate T/S 
     248      !CALL iom_get( numror, jpdom_auto, 'wmask'  , zwmask_b, ldxios = lrxios   ) ! need to extrapolate T/S 
     249      !CALL iom_get( numror, jpdom_auto, 'gdepw_n', zdepw_b(:,:,:), ldxios = lrxios ) ! need to interpol vertical profile (vvl) 
    250250      ! 
    251251      !  
     
    391391      !!---------------------------------------------------------------------- 
    392392      ! 
    393       CALL iom_get( numror, jpdom_autoglo, 'tmask'  , ztmask_b, ldxios = lrxios ) 
    394       CALL iom_get( numror, jpdom_autoglo, 'e3u_n'  , ze3u_b  , ldxios = lrxios ) 
    395       CALL iom_get( numror, jpdom_autoglo, 'e3v_n'  , ze3v_b  , ldxios = lrxios ) 
     393      CALL iom_get( numror, jpdom_auto, 'tmask'  , ztmask_b, ldxios = lrxios ) 
     394      CALL iom_get( numror, jpdom_auto, 'e3u_n'  , ze3u_b  , ldxios = lrxios ) 
     395      CALL iom_get( numror, jpdom_auto, 'e3v_n'  , ze3v_b  , ldxios = lrxios ) 
    396396      ! 
    397397      ! 1.0: compute horizontal volume flux divergence difference before-after coupling 
     
    495495 
    496496      ! get restart variable 
    497       CALL iom_get( numror, jpdom_autoglo, 'tmask'  , ztmask_b(:,:,:), ldxios = lrxios   ) ! need to extrapolate T/S 
    498       CALL iom_get( numror, jpdom_autoglo, 'e3t_n'  , ze3t_b(:,:,:)  , ldxios = lrxios ) 
    499       CALL iom_get( numror, jpdom_autoglo, 'tn'     , zt_b(:,:,:)    , ldxios = lrxios ) 
    500       CALL iom_get( numror, jpdom_autoglo, 'sn'     , zs_b(:,:,:)    , ldxios = lrxios ) 
     497      CALL iom_get( numror, jpdom_auto, 'tmask'  , ztmask_b(:,:,:), ldxios = lrxios   ) ! need to extrapolate T/S 
     498      CALL iom_get( numror, jpdom_auto, 'e3t_n'  , ze3t_b(:,:,:)  , ldxios = lrxios ) 
     499      CALL iom_get( numror, jpdom_auto, 'tn'     , zt_b(:,:,:)    , ldxios = lrxios ) 
     500      CALL iom_get( numror, jpdom_auto, 'sn'     , zs_b(:,:,:)    , ldxios = lrxios ) 
    501501 
    502502      ! compute run length 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ISF/isfrst.F90

    r11931 r12738  
    5353      IF( iom_varid( numror, cfwf_b, ldstop = .FALSE. ) > 0 ) THEN 
    5454         IF(lwp) WRITE(numout,*) '          nit000-1 isf tracer content forcing fields read in the restart file' 
    55          CALL iom_get( numror, jpdom_autoglo, cfwf_b, pfwf_b(:,:)        , ldxios = lrxios )   ! before ice shelf melt 
    56          CALL iom_get( numror, jpdom_autoglo, chc_b , ptsc_b (:,:,jp_tem), ldxios = lrxios )   ! before ice shelf heat flux 
    57          CALL iom_get( numror, jpdom_autoglo, csc_b , ptsc_b (:,:,jp_sal), ldxios = lrxios )   ! before ice shelf heat flux 
     55         CALL iom_get( numror, jpdom_auto, cfwf_b, pfwf_b(:,:)        , ldxios = lrxios )   ! before ice shelf melt 
     56         CALL iom_get( numror, jpdom_auto, chc_b , ptsc_b (:,:,jp_tem), ldxios = lrxios )   ! before ice shelf heat flux 
     57         CALL iom_get( numror, jpdom_auto, csc_b , ptsc_b (:,:,jp_sal), ldxios = lrxios )   ! before ice shelf heat flux 
    5858      ELSE 
    5959         pfwf_b(:,:)   = pfwf(:,:) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ISF/isfutils.F90

    r12271 r12738  
    1212   !!---------------------------------------------------------------------- 
    1313 
    14    USE iom           , ONLY: iom_open, iom_get, iom_close, jpdom_data        ! read input file 
     14   USE iom           , ONLY: iom_open, iom_get, iom_close, jpdom_global      ! read input file 
    1515   USE lib_fortran   , ONLY: glob_sum, glob_min, glob_max                    ! compute global value 
    1616   USE par_oce       , ONLY: jpi,jpj,jpk, jpnij                              ! domain size 
     
    4747 
    4848      CALL iom_open( TRIM(cdfile), inum ) 
    49       CALL iom_get( inum, jpdom_data, TRIM(cdvar), pvar) 
     49      CALL iom_get( inum, jpdom_global, TRIM(cdvar), pvar) 
    5050      CALL iom_close(inum) 
    5151 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LDF/ldfdyn.F90

    r12489 r12738  
    267267            IF(lwp) WRITE(numout,*) '   ==>>>   eddy viscosity = F(i,j) read in eddy_viscosity.nc file' 
    268268            CALL iom_open( 'eddy_viscosity_2D.nc', inum ) 
    269             CALL iom_get ( inum, jpdom_data, 'ahmt_2d', ahmt(:,:,1) ) 
    270             CALL iom_get ( inum, jpdom_data, 'ahmf_2d', ahmf(:,:,1) ) 
     269            CALL iom_get ( inum, jpdom_global, 'ahmt_2d', ahmt(:,:,1), cd_type = 'T', psgn = 1._wp ) 
     270            CALL iom_get ( inum, jpdom_global, 'ahmf_2d', ahmf(:,:,1), cd_type = 'F', psgn = 1._wp ) 
    271271            CALL iom_close( inum ) 
    272272            DO jk = 2, jpkm1 
     
    284284            IF(lwp) WRITE(numout,*) '   ==>>>   eddy viscosity = F(i,j,k) read in eddy_viscosity_3D.nc file' 
    285285            CALL iom_open( 'eddy_viscosity_3D.nc', inum ) 
    286             CALL iom_get ( inum, jpdom_data, 'ahmt_3d', ahmt ) 
    287             CALL iom_get ( inum, jpdom_data, 'ahmf_3d', ahmf ) 
     286            CALL iom_get ( inum, jpdom_global, 'ahmt_3d', ahmt, cd_type = 'T', psgn = 1._wp ) 
     287            CALL iom_get ( inum, jpdom_global, 'ahmf_3d', ahmf, cd_type = 'F', psgn = 1._wp ) 
    288288            CALL iom_close( inum ) 
    289289            ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LDF/ldftra.F90

    r12489 r12738  
    316316            IF(lwp) WRITE(numout,*) '   ==>>>   eddy diffusivity = F(i,j) read in eddy_diffusivity.nc file' 
    317317            CALL iom_open( 'eddy_diffusivity_2D.nc', inum ) 
    318             CALL iom_get ( inum, jpdom_data, 'ahtu_2D', ahtu(:,:,1) ) 
    319             CALL iom_get ( inum, jpdom_data, 'ahtv_2D', ahtv(:,:,1) ) 
     318            CALL iom_get ( inum, jpdom_global, 'ahtu_2D', ahtu(:,:,1), cd_type = 'U', psgn = 1._wp ) 
     319            CALL iom_get ( inum, jpdom_global, 'ahtv_2D', ahtv(:,:,1), cd_type = 'V', psgn = 1._wp ) 
    320320            CALL iom_close( inum ) 
    321321            DO jk = 2, jpkm1 
     
    344344            IF(lwp) WRITE(numout,*) '   ==>>>   eddy diffusivity = F(i,j,k) read in eddy_diffusivity.nc file' 
    345345            CALL iom_open( 'eddy_diffusivity_3D.nc', inum ) 
    346             CALL iom_get ( inum, jpdom_data, 'ahtu_3D', ahtu ) 
    347             CALL iom_get ( inum, jpdom_data, 'ahtv_3D', ahtv ) 
     346            CALL iom_get ( inum, jpdom_global, 'ahtu_3D', ahtu, cd_type = 'U', psgn = 1._wp ) 
     347            CALL iom_get ( inum, jpdom_global, 'ahtv_3D', ahtv, cd_type = 'V', psgn = 1._wp ) 
    348348            CALL iom_close( inum ) 
    349349            ! 
     
    571571            IF(lwp) WRITE(numout,*) '   ==>>>   eddy induced velocity coef. = F(i,j) read in eddy_diffusivity_2D.nc file' 
    572572            CALL iom_open ( 'eddy_induced_velocity_2D.nc', inum ) 
    573             CALL iom_get  ( inum, jpdom_data, 'aeiu', aeiu(:,:,1) ) 
    574             CALL iom_get  ( inum, jpdom_data, 'aeiv', aeiv(:,:,1) ) 
     573            CALL iom_get  ( inum, jpdom_global, 'aeiu', aeiu(:,:,1), cd_type = 'U', psgn = 1._wp ) 
     574            CALL iom_get  ( inum, jpdom_global, 'aeiv', aeiv(:,:,1), cd_type = 'V', psgn = 1._wp ) 
    575575            CALL iom_close( inum ) 
    576576            DO jk = 2, jpkm1 
     
    595595            IF(lwp) WRITE(numout,*) '   ==>>>   eddy induced velocity coef. = F(i,j,k) read in eddy_diffusivity_3D.nc file' 
    596596            CALL iom_open ( 'eddy_induced_velocity_3D.nc', inum ) 
    597             CALL iom_get  ( inum, jpdom_data, 'aeiu', aeiu ) 
    598             CALL iom_get  ( inum, jpdom_data, 'aeiv', aeiv ) 
     597            CALL iom_get  ( inum, jpdom_global, 'aeiu', aeiu, cd_type = 'U', psgn = 1._wp ) 
     598            CALL iom_get  ( inum, jpdom_global, 'aeiv', aeiv, cd_type = 'V', psgn = 1._wp ) 
    599599            CALL iom_close( inum ) 
    600600            ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/OBS/obs_read_altbias.F90

    r12377 r12738  
    125125         ! Get the Alt bias data 
    126126          
    127          CALL iom_get( numaltbias, jpdom_data, 'altbias', z_altbias(:,:), 1 ) 
     127         CALL iom_get( numaltbias, jpdom_global, 'altbias', z_altbias(:,:) ) 
    128128          
    129129         ! Close the file 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/OBS/obs_readmdt.F90

    r12377 r12738  
    9090      CALL iom_open( mdtname, nummdt )       ! Open the file 
    9191      !                                      ! Get the MDT data 
    92       CALL iom_get ( nummdt, jpdom_data, 'sossheig', z_mdt(:,:), 1 ) 
     92      CALL iom_get ( nummdt, jpdom_global, 'sossheig', z_mdt(:,:) ) 
    9393      CALL iom_close(nummdt)                 ! Close the file 
    9494       
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/OBS/obs_sstbias.F90

    r12377 r12738  
    139139               cl_bias_files(jtype) ) 
    140140            ! Get the SST bias data 
    141             CALL iom_get( numsstbias, jpdom_data, 'tn', z_sstbias_2d(:,:), 1 ) 
     141            CALL iom_get( numsstbias, jpdom_global, 'tn', z_sstbias_2d(:,:), 1 ) 
    142142            z_sstbias(:,:,jtype) = z_sstbias_2d(:,:)        
    143143            ! Close the file 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/fldread.F90

    r12489 r12738  
    368368         ENDIF 
    369369      ELSE 
    370          IF( SIZE(sdjf%fnow, 1) == jpi ) THEN   ;   ipdom = jpdom_data 
     370         IF( SIZE(sdjf%fnow, 1) == jpi ) THEN   ;   ipdom = jpdom_global 
    371371         ELSE                                   ;   ipdom = jpdom_unknown 
    372372         ENDIF 
     
    12071207            WRITE(aname,'(a3,i2.2)') 'src',jn 
    12081208            data_tmp(:,:) = 0 
    1209             CALL iom_get ( inum, jpdom_data, aname, data_tmp(:,:) ) 
     1209            CALL iom_get ( inum, jpdom_global, aname, data_tmp(:,:) ) 
    12101210            data_src(:,:) = INT(data_tmp(:,:)) 
    12111211            ref_wgts(nxt_wgt)%data_jpj(:,:,jn) = 1 + (data_src(:,:)-1) / ref_wgts(nxt_wgt)%ddims(1) 
     
    12171217            WRITE(aname,'(a3,i2.2)') 'wgt',jn 
    12181218            ref_wgts(nxt_wgt)%data_wgt(:,:,jn) = 0.0 
    1219             CALL iom_get ( inum, jpdom_data, aname, ref_wgts(nxt_wgt)%data_wgt(:,:,jn) ) 
     1219            CALL iom_get ( inum, jpdom_global, aname, ref_wgts(nxt_wgt)%data_wgt(:,:,jn) ) 
    12201220         END DO 
    12211221         CALL iom_close (inum) 
     
    12811281      SELECT CASE( SIZE(zfieldo(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),3) ) 
    12821282      CASE(1) 
    1283          CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1), 1, rec1_lsm, recn_lsm) 
     1283         CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1),   & 
     1284            &          1, kstart = rec1_lsm, kcount = recn_lsm) 
    12841285      CASE DEFAULT 
    1285          CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:), 1, rec1_lsm, recn_lsm) 
     1286         CALL iom_get( inum, jpdom_unknown, 'LSM', zslmec1(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),   & 
     1287            &          1, kstart = rec1_lsm, kcount = recn_lsm) 
    12861288      END SELECT 
    12871289      CALL iom_close( inum ) 
     
    14451447         CASE(1) 
    14461448              CALL iom_get( num, jpdom_unknown, clvar, ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,1),   & 
    1447                  &                                                                nrec, rec1_lsm, recn_lsm) 
     1449                 &          nrec, kstart = rec1_lsm, kcount = recn_lsm) 
    14481450         CASE DEFAULT 
    14491451              CALL iom_get( num, jpdom_unknown, clvar, ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),   & 
    1450                  &                                                                nrec, rec1_lsm, recn_lsm) 
     1452                 &          nrec, kstart = rec1_lsm, kcount = recn_lsm) 
    14511453         END SELECT 
    14521454         CALL apply_seaoverland(lsmfile,ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),                  & 
     
    14681470          
    14691471         ref_wgts(kw)%fly_dta(:,:,:) = 0.0 
    1470          CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 
     1472         CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, kstart = rec1, kcount = recn) 
    14711473      ENDIF 
    14721474       
     
    15121514           IF( jpi1 == 2 ) THEN 
    15131515              rec1(1) = ref_wgts(kw)%ddims(1) - ref_wgts(kw)%overlap 
    1514               CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 
     1516              CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, kstart = rec1, kcount = recn) 
    15151517              ref_wgts(kw)%fly_dta(jpi1-1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 
    15161518           ENDIF 
    15171519           IF( jpi2 + jpimin - 1 == ref_wgts(kw)%ddims(1)+1 ) THEN 
    15181520              rec1(1) = 1 + ref_wgts(kw)%overlap 
    1519               CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 
     1521              CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, kstart = rec1, kcount = recn) 
    15201522              ref_wgts(kw)%fly_dta(jpi2+1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 
    15211523           ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcapr.F90

    r12489 r12738  
    154154         IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
    155155            IF(lwp) WRITE(numout,*) 'sbc_apr:   ssh_ibb read in the restart file' 
    156             CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb, ldxios = lrxios )   ! before inv. barometer ssh 
     156            CALL iom_get( numror, jpdom_auto, 'ssh_ibb', ssh_ibb, ldxios = lrxios )   ! before inv. barometer ssh 
    157157            ! 
    158158         ELSE                                         !* no restart: set from nit000 values 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcmod.F90

    r12489 r12738  
    517517            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 
    518518            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
    519             CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = lrxios )   ! before i-stress  (U-point) 
    520             CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = lrxios )   ! before j-stress  (V-point) 
    521             CALL iom_get( numror, jpdom_autoglo,  'qns_b',  qns_b, ldxios = lrxios )   ! before non solar heat flux (T-point) 
     519            CALL iom_get( numror, jpdom_auto, 'utau_b', utau_b, ldxios = lrxios, cd_type = 'U', psgn = -1._wp )   ! before i-stress  (U-point) 
     520            CALL iom_get( numror, jpdom_auto, 'vtau_b', vtau_b, ldxios = lrxios, cd_type = 'V', psgn = -1._wp )   ! before j-stress  (V-point) 
     521            CALL iom_get( numror, jpdom_auto,  'qns_b',  qns_b, ldxios = lrxios )   ! before non solar heat flux (T-point) 
    522522            ! The 3D heat content due to qsr forcing is treated in traqsr 
    523             ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = lrxios  ) ! before     solar heat flux (T-point) 
    524             CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = lrxios  )    ! before     freshwater flux (T-point) 
     523            ! CALL iom_get( numror, jpdom_auto, 'qsr_b' , qsr_b, ldxios = lrxios  ) ! before     solar heat flux (T-point) 
     524            CALL iom_get( numror, jpdom_auto, 'emp_b', emp_b, ldxios = lrxios  )    ! before     freshwater flux (T-point) 
    525525            ! To ensure restart capability with 3.3x/3.4 restart files    !! to be removed in v3.6 
    526526            IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 
    527                CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = lrxios )  ! before salt flux (T-point) 
     527               CALL iom_get( numror, jpdom_auto, 'sfx_b', sfx_b, ldxios = lrxios )  ! before salt flux (T-point) 
    528528            ELSE 
    529529               sfx_b (:,:) = sfx(:,:) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcrnf.F90

    r12586 r12738  
    159159            & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 
    160160            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file', lrxios 
    161             CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b, ldxios = lrxios )     ! before runoff 
    162             CALL iom_get( numror, jpdom_autoglo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem), ldxios = lrxios )   ! before heat content of runoff 
    163             CALL iom_get( numror, jpdom_autoglo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal), ldxios = lrxios )   ! before salinity content of runoff 
     161            CALL iom_get( numror, jpdom_auto, 'rnf_b', rnf_b, ldxios = lrxios )     ! before runoff 
     162            CALL iom_get( numror, jpdom_auto, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem), ldxios = lrxios )   ! before heat content of runoff 
     163            CALL iom_get( numror, jpdom_auto, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal), ldxios = lrxios )   ! before salinity content of runoff 
    164164         ELSE                                                   !* no restart: set from nit000 values 
    165165            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields set to nit000' 
     
    355355            IF( sn_dep_rnf%cltype == 'monthly' )   WRITE(rn_dep_file, '(a,"m",i2)'  ) TRIM( rn_dep_file ), nmonth   ! add month  
    356356         ENDIF 
    357          CALL iom_open ( rn_dep_file, inum )                           ! open file 
    358          CALL iom_get  ( inum, jpdom_data, sn_dep_rnf%clvar, h_rnf )   ! read the river mouth array 
    359          CALL iom_close( inum )                                        ! close file 
     357         CALL iom_open ( rn_dep_file, inum )                             ! open file 
     358         CALL iom_get  ( inum, jpdom_global, sn_dep_rnf%clvar, h_rnf )   ! read the river mouth array 
     359         CALL iom_close( inum )                                          ! close file 
    360360         ! 
    361361         nk_rnf(:,:) = 0                               ! set the number of level over which river runoffs are applied 
     
    390390         CALL iom_open( TRIM( sn_rnf%clname ), inum )    !  open runoff file 
    391391         nbrec = iom_getszuld( inum ) 
    392          zrnfcl(:,:,1) = 0._wp                                                          ! init the max to 0. in 1 
     392         zrnfcl(:,:,1) = 0._wp                                                            ! init the max to 0. in 1 
    393393         DO jm = 1, nbrec 
    394             CALL iom_get( inum, jpdom_data, TRIM( sn_rnf%clvar ), zrnfcl(:,:,2), jm )   ! read the value in 2 
    395             zrnfcl(:,:,1) = MAXVAL( zrnfcl(:,:,:), DIM=3 )                              ! store the maximum value in time in 1 
     394            CALL iom_get( inum, jpdom_global, TRIM( sn_rnf%clvar ), zrnfcl(:,:,2), jm )   ! read the value in 2 
     395            zrnfcl(:,:,1) = MAXVAL( zrnfcl(:,:,:), DIM=3 )                                ! store the maximum value in time in 1 
    396396         END DO 
    397397         CALL iom_close( inum ) 
     
    522522      ! 
    523523      ! horizontal mask (read in NetCDF file) 
    524       CALL iom_open ( cl_rnfile, inum )                           ! open file 
    525       CALL iom_get  ( inum, jpdom_data, sn_cnf%clvar, rnfmsk )    ! read the river mouth array 
    526       CALL iom_close( inum )                                      ! close file 
     524      CALL iom_open ( cl_rnfile, inum )                             ! open file 
     525      CALL iom_get  ( inum, jpdom_global, sn_cnf%clvar, rnfmsk )    ! read the river mouth array 
     526      CALL iom_close( inum )                                        ! close file 
    527527      ! 
    528528      IF( l_clo_rnf )   CALL clo_rnf( rnfmsk )   ! closed sea inflow set as river mouth 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcssm.F90

    r12377 r12738  
    207207         IF( ln_rstart .AND. iom_varid( numror, 'nn_fsbc', ldstop = .FALSE. ) > 0 ) THEN 
    208208            l_ssm_mean = .TRUE. 
    209             CALL iom_get( numror               , 'nn_fsbc', zf_sbc, ldxios = lrxios )    ! sbc frequency of previous run 
    210             CALL iom_get( numror, jpdom_autoglo, 'ssu_m'  , ssu_m, ldxios = lrxios )    ! sea surface mean velocity    (U-point) 
    211             CALL iom_get( numror, jpdom_autoglo, 'ssv_m'  , ssv_m, ldxios = lrxios )    !   "         "    velocity    (V-point) 
    212             CALL iom_get( numror, jpdom_autoglo, 'sst_m'  , sst_m, ldxios = lrxios )    !   "         "    temperature (T-point) 
    213             CALL iom_get( numror, jpdom_autoglo, 'sss_m'  , sss_m, ldxios = lrxios )    !   "         "    salinity    (T-point) 
    214             CALL iom_get( numror, jpdom_autoglo, 'ssh_m'  , ssh_m, ldxios = lrxios )    !   "         "    height      (T-point) 
    215             CALL iom_get( numror, jpdom_autoglo, 'e3t_m'  , e3t_m, ldxios = lrxios )    ! 1st level thickness          (T-point) 
     209            CALL iom_get( numror            , 'nn_fsbc', zf_sbc,ldxios = lrxios )     ! sbc frequency of previous run 
     210            CALL iom_get( numror, jpdom_auto, 'ssu_m'  , ssu_m, ldxios = lrxios, cd_type = 'U', psgn = -1._wp )    ! sea surface mean velocity    (U-point) 
     211            CALL iom_get( numror, jpdom_auto, 'ssv_m'  , ssv_m, ldxios = lrxios, cd_type = 'V', psgn = -1._wp )    !   "         "    velocity    (V-point) 
     212            CALL iom_get( numror, jpdom_auto, 'sst_m'  , sst_m, ldxios = lrxios )    !   "         "    temperature (T-point) 
     213            CALL iom_get( numror, jpdom_auto, 'sss_m'  , sss_m, ldxios = lrxios )    !   "         "    salinity    (T-point) 
     214            CALL iom_get( numror, jpdom_auto, 'ssh_m'  , ssh_m, ldxios = lrxios )    !   "         "    height      (T-point) 
     215            CALL iom_get( numror, jpdom_auto, 'e3t_m'  , e3t_m, ldxios = lrxios )    ! 1st level thickness          (T-point) 
    216216            ! fraction of solar net radiation absorbed in 1st T level 
    217217            IF( iom_varid( numror, 'frq_m', ldstop = .FALSE. ) > 0 ) THEN 
    218                CALL iom_get( numror, jpdom_autoglo, 'frq_m'  , frq_m, ldxios = lrxios  ) 
     218               CALL iom_get( numror, jpdom_auto, 'frq_m'  , frq_m, ldxios = lrxios  ) 
    219219            ELSE 
    220220               frq_m(:,:) = 1._wp   ! default definition 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/STO/stopar.F90

    r12377 r12738  
    707707         DO jsto = 1 , jpsto2d 
    708708            WRITE(clsto2d(7:9),'(i3.3)') jsto 
    709             CALL iom_get( numstor, jpdom_autoglo, clsto2d , sto2d(:,:,jsto) ) 
     709            CALL iom_get( numstor, jpdom_auto, clsto2d, sto2d(:,:,  jsto) ) 
    710710         END DO 
    711711         ! 3D stochastic parameters 
    712712         DO jsto = 1 , jpsto3d 
    713713            WRITE(clsto3d(7:9),'(i3.3)') jsto 
    714             CALL iom_get( numstor, jpdom_autoglo, clsto3d , sto3d(:,:,:,jsto) ) 
     714            CALL iom_get( numstor, jpdom_auto, clsto3d, sto3d(:,:,:,jsto) ) 
    715715         END DO 
    716716 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TDE/tide_mod.F90

    r12489 r12738  
    400400      ! 
    401401      DO itide = 1, nb_harmo 
    402          CALL iom_get  ( inum, jpdom_data,TRIM(tide_components(itide)%cname_tide)//'_z1', ztr(:,:) ) 
    403          CALL iom_get  ( inum, jpdom_data,TRIM(tide_components(itide)%cname_tide)//'_z2', zti(:,:) ) 
     402         CALL iom_get  ( inum, jpdom_global,TRIM(tide_components(itide)%cname_tide)//'_z1', ztr(:,:) ) 
     403         CALL iom_get  ( inum, jpdom_global,TRIM(tide_components(itide)%cname_tide)//'_z2', zti(:,:) ) 
    404404         ! 
    405405         DO ji=1,jpi 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/tradmp.F90

    r12377 r12738  
    208208         !                          ! Read in mask from file 
    209209         CALL iom_open ( cn_resto, imask) 
    210          CALL iom_get  ( imask, jpdom_autoglo, 'resto', resto ) 
     210         CALL iom_get  ( imask, jpdom_auto, 'resto', resto ) 
    211211         CALL iom_close( imask ) 
    212212      ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/traqsr.F90

    r12489 r12738  
    138138            IF(lwp) WRITE(numout,*) '          nit000-1 qsr tracer content forcing field read in the restart file' 
    139139            z1_2 = 0.5_wp 
    140             CALL iom_get( numror, jpdom_autoglo, 'qsr_hc_b', qsr_hc_b, ldxios = lrxios )   ! before heat content trend due to Qsr flux 
     140            CALL iom_get( numror, jpdom_auto, 'qsr_hc_b', qsr_hc_b, ldxios = lrxios )   ! before heat content trend due to Qsr flux 
    141141         ELSE                                           ! No restart or restart not found: Euler forward time stepping 
    142142            z1_2 = 1._wp 
     
    402402      ! 1st ocean level attenuation coefficient (used in sbcssm) 
    403403      IF( iom_varid( numror, 'fraqsr_1lev', ldstop = .FALSE. ) > 0 ) THEN 
    404          CALL iom_get( numror, jpdom_autoglo, 'fraqsr_1lev'  , fraqsr_1lev, ldxios = lrxios  ) 
     404         CALL iom_get( numror, jpdom_auto, 'fraqsr_1lev'  , fraqsr_1lev, ldxios = lrxios  ) 
    405405      ELSE 
    406406         fraqsr_1lev(:,:) = 1._wp   ! default : no penetration 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/trasbc.F90

    r12489 r12738  
    111111            zfact = 0.5_wp 
    112112            sbc_tsc(:,:,:) = 0._wp 
    113             CALL iom_get( numror, jpdom_autoglo, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem), ldxios = lrxios )   ! before heat content sbc trend 
    114             CALL iom_get( numror, jpdom_autoglo, 'sbc_sc_b', sbc_tsc_b(:,:,jp_sal), ldxios = lrxios )   ! before salt content sbc trend 
     113            CALL iom_get( numror, jpdom_auto, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem), ldxios = lrxios )   ! before heat content sbc trend 
     114            CALL iom_get( numror, jpdom_auto, 'sbc_sc_b', sbc_tsc_b(:,:,jp_sal), ldxios = lrxios )   ! before salt content sbc trend 
    115115         ELSE                                   ! No restart or restart not found: Euler forward time stepping 
    116116            zfact = 1._wp 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRD/trdmxl_rst.F90

    r11536 r12738  
    149149      IF( ln_trdmxl_instant ) THEN  
    150150         !-- Temperature 
    151          CALL iom_get( inum, jpdom_autoglo, 'tmlbb'           , tmlbb          ) 
    152          CALL iom_get( inum, jpdom_autoglo, 'tmlbn'           , tmlbn          ) 
    153          CALL iom_get( inum, jpdom_autoglo, 'tmlatfb'         , tmlatfb        ) 
     151         CALL iom_get( inum, jpdom_auto, 'tmlbb'           , tmlbb          ) 
     152         CALL iom_get( inum, jpdom_auto, 'tmlbn'           , tmlbn          ) 
     153         CALL iom_get( inum, jpdom_auto, 'tmlatfb'         , tmlatfb        ) 
    154154         ! 
    155155         !-- Salinity 
    156          CALL iom_get( inum, jpdom_autoglo, 'smlbb'           , smlbb          ) 
    157          CALL iom_get( inum, jpdom_autoglo, 'smlbn'           , smlbn          ) 
    158          CALL iom_get( inum, jpdom_autoglo, 'smlatfb'         , smlatfb        ) 
     156         CALL iom_get( inum, jpdom_auto, 'smlbb'           , smlbb          ) 
     157         CALL iom_get( inum, jpdom_auto, 'smlbn'           , smlbn          ) 
     158         CALL iom_get( inum, jpdom_auto, 'smlatfb'         , smlatfb        ) 
    159159      ELSE 
    160          CALL iom_get( inum, jpdom_autoglo, 'hmxlbn'          , hmxlbn         ) ! needed for hmxl_sum 
     160         CALL iom_get( inum, jpdom_auto, 'hmxlbn'          , hmxlbn         ) ! needed for hmxl_sum 
    161161         ! 
    162162         !-- Temperature 
    163          CALL iom_get( inum, jpdom_autoglo, 'tmlbn'           , tmlbn          ) ! needed for tml_sum 
    164          CALL iom_get( inum, jpdom_autoglo, 'tml_sumb'        , tml_sumb       ) 
     163         CALL iom_get( inum, jpdom_auto, 'tmlbn'           , tmlbn          ) ! needed for tml_sum 
     164         CALL iom_get( inum, jpdom_auto, 'tml_sumb'        , tml_sumb       ) 
    165165         DO jk = 1, jpltrd 
    166166            IF( jk < 10 ) THEN   ;   WRITE(charout,FMT="('tmltrd_csum_ub_', I1)")   jk 
    167167            ELSE                 ;   WRITE(charout,FMT="('tmltrd_csum_ub_', I2)")   jk 
    168168            ENDIF 
    169             CALL iom_get( inum, jpdom_autoglo, charout, tmltrd_csum_ub(:,:,jk) ) 
     169            CALL iom_get( inum, jpdom_auto, charout, tmltrd_csum_ub(:,:,jk) ) 
    170170         END DO 
    171          CALL iom_get( inum, jpdom_autoglo, 'tmltrd_atf_sumb' , tmltrd_atf_sumb) 
     171         CALL iom_get( inum, jpdom_auto, 'tmltrd_atf_sumb' , tmltrd_atf_sumb) 
    172172         ! 
    173173         !-- Salinity 
    174          CALL iom_get( inum, jpdom_autoglo, 'smlbn'           , smlbn          ) ! needed for sml_sum 
    175          CALL iom_get( inum, jpdom_autoglo, 'sml_sumb'        , sml_sumb       ) 
     174         CALL iom_get( inum, jpdom_auto, 'smlbn'           , smlbn          ) ! needed for sml_sum 
     175         CALL iom_get( inum, jpdom_auto, 'sml_sumb'        , sml_sumb       ) 
    176176         DO jk = 1, jpltrd 
    177177            IF( jk < 10 ) THEN   ;   WRITE(charout,FMT="('smltrd_csum_ub_', I1)")   jk 
    178178            ELSE                 ;   WRITE(charout,FMT="('smltrd_csum_ub_', I2)")   jk 
    179179            ENDIF 
    180             CALL iom_get( inum, jpdom_autoglo, charout, smltrd_csum_ub(:,:,jk) ) 
     180            CALL iom_get( inum, jpdom_auto, charout, smltrd_csum_ub(:,:,jk) ) 
    181181         END DO 
    182          CALL iom_get( inum, jpdom_autoglo, 'smltrd_atf_sumb' , smltrd_atf_sumb) 
     182         CALL iom_get( inum, jpdom_auto, 'smltrd_atf_sumb' , smltrd_atf_sumb) 
    183183         ! 
    184184         CALL iom_close( inum ) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfdrg.F90

    r12586 r12738  
    362362         ! cl_varname is a coefficient in [0,1] giving where to apply the regional boost 
    363363         CALL iom_open ( TRIM(cl_file), inum ) 
    364          CALL iom_get  ( inum, jpdom_data, TRIM(cl_varname), zmsk_boost, 1 ) 
     364         CALL iom_get  ( inum, jpdom_global, TRIM(cl_varname), zmsk_boost, 1 ) 
    365365         CALL iom_close( inum) 
    366366         zmsk_boost(:,:) = 1._wp + rn_boost * zmsk_boost(:,:) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfgls.F90

    r12489 r12738  
    10651065            ! 
    10661066            IF( MIN( id1, id2, id3, id4 ) > 0 ) THEN        ! all required arrays exist 
    1067                CALL iom_get( numror, jpdom_autoglo, 'en'    , en    , ldxios = lrxios ) 
    1068                CALL iom_get( numror, jpdom_autoglo, 'avt_k' , avt_k , ldxios = lrxios ) 
    1069                CALL iom_get( numror, jpdom_autoglo, 'avm_k' , avm_k , ldxios = lrxios ) 
    1070                CALL iom_get( numror, jpdom_autoglo, 'hmxl_n', hmxl_n, ldxios = lrxios ) 
     1067               CALL iom_get( numror, jpdom_auto, 'en'    , en    , ldxios = lrxios ) 
     1068               CALL iom_get( numror, jpdom_auto, 'avt_k' , avt_k , ldxios = lrxios ) 
     1069               CALL iom_get( numror, jpdom_auto, 'avm_k' , avm_k , ldxios = lrxios ) 
     1070               CALL iom_get( numror, jpdom_auto, 'hmxl_n', hmxl_n, ldxios = lrxios ) 
    10711071            ELSE                         
    10721072               IF(lwp) WRITE(numout,*) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfosm.F90

    r12489 r12738  
    14611461        id1 = iom_varid( numror, 'wn'   , ldstop = .FALSE. ) 
    14621462        IF( id1 > 0 ) THEN                       ! 'wn' exists; read 
    1463            CALL iom_get( numror, jpdom_autoglo, 'wn', ww, ldxios = lrxios ) 
     1463           CALL iom_get( numror, jpdom_auto, 'wn', ww, ldxios = lrxios ) 
    14641464           WRITE(numout,*) ' ===>>>> :  ww read from restart file' 
    14651465        ELSE 
     
    14701470        id2 = iom_varid( numror, 'hbli'   , ldstop = .FALSE. ) 
    14711471        IF( id1 > 0 .AND. id2 > 0) THEN                       ! 'hbl' exists; read and return 
    1472            CALL iom_get( numror, jpdom_autoglo, 'hbl' , hbl , ldxios = lrxios ) 
    1473            CALL iom_get( numror, jpdom_autoglo, 'hbli', hbli, ldxios = lrxios  ) 
     1472           CALL iom_get( numror, jpdom_auto, 'hbl' , hbl , ldxios = lrxios ) 
     1473           CALL iom_get( numror, jpdom_auto, 'hbli', hbli, ldxios = lrxios  ) 
    14741474           WRITE(numout,*) ' ===>>>> :  hbl & hbli read from restart file' 
    14751475           RETURN 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfric.F90

    r12489 r12738  
    214214            ! 
    215215            IF( MIN( id1, id2 ) > 0 ) THEN         ! restart exists => read it 
    216                CALL iom_get( numror, jpdom_autoglo, 'avt_k', avt_k, ldxios = lrxios ) 
    217                CALL iom_get( numror, jpdom_autoglo, 'avm_k', avm_k, ldxios = lrxios ) 
     216               CALL iom_get( numror, jpdom_auto, 'avt_k', avt_k, ldxios = lrxios ) 
     217               CALL iom_get( numror, jpdom_auto, 'avm_k', avm_k, ldxios = lrxios ) 
    218218            ENDIF 
    219219         ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdftke.F90

    r12489 r12738  
    674674            ! 
    675675            IF( MIN( id1, id2, id3, id4 ) > 0 ) THEN      ! fields exist 
    676                CALL iom_get( numror, jpdom_autoglo, 'en'   , en   , ldxios = lrxios ) 
    677                CALL iom_get( numror, jpdom_autoglo, 'avt_k', avt_k, ldxios = lrxios ) 
    678                CALL iom_get( numror, jpdom_autoglo, 'avm_k', avm_k, ldxios = lrxios ) 
    679                CALL iom_get( numror, jpdom_autoglo, 'dissl', dissl, ldxios = lrxios ) 
     676               CALL iom_get( numror, jpdom_auto, 'en'   , en   , ldxios = lrxios ) 
     677               CALL iom_get( numror, jpdom_auto, 'avt_k', avt_k, ldxios = lrxios ) 
     678               CALL iom_get( numror, jpdom_auto, 'avm_k', avm_k, ldxios = lrxios ) 
     679               CALL iom_get( numror, jpdom_auto, 'dissl', dissl, ldxios = lrxios ) 
    680680            ELSE                                          ! start TKE from rest 
    681681               IF(lwp) WRITE(numout,*) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OFF/dtadyn.F90

    r12489 r12738  
    319319           iom_varid( numrtr, 'sshn', ldstop = .FALSE. ) > 0 ) THEN 
    320320           IF(lwp) WRITE(numout,*) ' ssh(:,:,Kmm) forcing fields read in the restart file for initialisation' 
    321            CALL iom_get( numrtr, jpdom_autoglo, 'sshn', ssh(:,:,Kmm)   ) 
    322            CALL iom_get( numrtr, jpdom_autoglo, 'sshb', ssh(:,:,Kbb)   ) 
     321           CALL iom_get( numrtr, jpdom_auto, 'sshn', ssh(:,:,Kmm)   ) 
     322           CALL iom_get( numrtr, jpdom_auto, 'sshb', ssh(:,:,Kbb)   ) 
    323323        ELSE 
    324324           IF(lwp) WRITE(numout,*) ' ssh(:,:,Kmm) forcing fields read in the restart file for initialisation' 
    325325           CALL iom_open( 'restart', inum ) 
    326            CALL iom_get( inum, jpdom_autoglo, 'sshn', ssh(:,:,Kmm)   ) 
    327            CALL iom_get( inum, jpdom_autoglo, 'sshb', ssh(:,:,Kbb)   ) 
     326           CALL iom_get( inum, jpdom_auto, 'sshn', ssh(:,:,Kmm)   ) 
     327           CALL iom_get( inum, jpdom_auto, 'sshb', ssh(:,:,Kbb)   ) 
    328328           CALL iom_close( inum )                                        ! close file 
    329329        ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/C14/trcini_c14.F90

    r12377 r12738  
    6969        !  
    7070        CALL iom_get( numrtr, 'co2sbc', co2sbc )  
    71         CALL iom_get( numrtr, jpdom_autoglo, 'c14sbc', c14sbc )  
    72         CALL iom_get( numrtr, jpdom_autoglo, 'exch_co2', exch_co2 )  
    73         CALL iom_get( numrtr, jpdom_autoglo, 'exch_c14', exch_c14 )  
    74         CALL iom_get( numrtr, jpdom_autoglo, 'qtr_c14', qtr_c14 ) 
     71        CALL iom_get( numrtr, jpdom_auto, 'c14sbc', c14sbc )  
     72        CALL iom_get( numrtr, jpdom_auto, 'exch_co2', exch_co2 )  
     73        CALL iom_get( numrtr, jpdom_auto, 'exch_c14', exch_c14 )  
     74        CALL iom_get( numrtr, jpdom_auto, 'qtr_c14', qtr_c14 ) 
    7575        ! 
    7676      END IF 
     
    8585      ELSE 
    8686        ! 
    87         CALL iom_get( numrtr, jpdom_autoglo, 'qint_c14', qint_c14 )  
     87        CALL iom_get( numrtr, jpdom_auto, 'qint_c14', qint_c14 )  
    8888        ! 
    8989      ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/CFC/trcsms_cfc.F90

    r12489 r12738  
    297297         DO jn = jp_cfc0, jp_cfc1 
    298298            jl = jl + 1 
    299             CALL iom_get( numrtr, jpdom_autoglo, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jl) )  
     299            CALL iom_get( numrtr, jpdom_auto, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jl) )  
    300300         END DO 
    301301      ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/P2Z/p2zexp.F90

    r12489 r12738  
    213213      ! 
    214214      IF( ln_rsttr ) THEN 
    215          CALL iom_get( numrtr, jpdom_autoglo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
    216          CALL iom_get( numrtr, jpdom_autoglo, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
     215         CALL iom_get( numrtr, jpdom_auto, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) ) 
     216         CALL iom_get( numrtr, jpdom_auto, 'SEDN'//ctrcnm(jpdet), sedpocn(:,:) ) 
    217217      ELSE 
    218218         sedpocb(:,:) = 0._wp 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/P4Z/p4zbc.F90

    r12377 r12738  
    287287         CALL iom_open ( TRIM( sn_ironsed%clname ), numiron ) 
    288288         ALLOCATE( zcmask(jpi,jpj,jpk) ) 
    289          CALL iom_get  ( numiron, jpdom_data, TRIM( sn_ironsed%clvar ), zcmask(:,:,:), 1 ) 
     289         CALL iom_get  ( numiron, jpdom_global, TRIM( sn_ironsed%clvar ), zcmask(:,:,:), 1 ) 
    290290         CALL iom_close( numiron ) 
    291291         ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/P4Z/p4zsms.F90

    r12489 r12738  
    340340         !  
    341341         IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 
    342             CALL iom_get( numrtr, jpdom_autoglo, 'PH' , hi(:,:,:)  ) 
     342            CALL iom_get( numrtr, jpdom_auto, 'PH' , hi(:,:,:)  ) 
    343343         ELSE 
    344344            CALL p4z_che( Kbb, Kmm )                  ! initialize the chemical constants 
    345345            CALL ahini_for_at( hi, Kbb ) 
    346346         ENDIF 
    347          CALL iom_get( numrtr, jpdom_autoglo, 'Silicalim', xksi(:,:) ) 
     347         CALL iom_get( numrtr, jpdom_auto, 'Silicalim', xksi(:,:) ) 
    348348         IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 
    349             CALL iom_get( numrtr, jpdom_autoglo, 'Silicamax' , xksimax(:,:)  ) 
     349            CALL iom_get( numrtr, jpdom_auto, 'Silicamax' , xksimax(:,:)  ) 
    350350         ELSE 
    351351            xksimax(:,:) = xksi(:,:) 
     
    360360         IF( ln_p5z ) THEN 
    361361            IF( iom_varid( numrtr, 'sized', ldstop = .FALSE. ) > 0 ) THEN 
    362                CALL iom_get( numrtr, jpdom_autoglo, 'sizep' , sizep(:,:,:)  ) 
    363                CALL iom_get( numrtr, jpdom_autoglo, 'sizen' , sizen(:,:,:)  ) 
    364                CALL iom_get( numrtr, jpdom_autoglo, 'sized' , sized(:,:,:)  ) 
     362               CALL iom_get( numrtr, jpdom_auto, 'sizep' , sizep(:,:,:)  ) 
     363               CALL iom_get( numrtr, jpdom_auto, 'sizen' , sizen(:,:,:)  ) 
     364               CALL iom_get( numrtr, jpdom_auto, 'sized' , sized(:,:,:)  ) 
    365365            ELSE 
    366366               sizep(:,:,:) = 1. 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/SED/sedrst.F90

    r12489 r12738  
    123123         cltra = TRIM(sedtrcd(jn)) 
    124124         IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    125             CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta(:,:,:,jn) ) 
     125            CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta(:,:,:,jn) ) 
    126126         ELSE 
    127127            zdta(:,:,:,jn) = 0.0 
     
    142142         cltra = TRIM(seddia3d(jn)) 
    143143         IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    144             CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta1(:,:,:,jn) ) 
     144            CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta1(:,:,:,jn) ) 
    145145         ELSE 
    146146            zdta1(:,:,:,jn) = 0.0 
     
    169169      cltra = "dbioturb" 
    170170      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    171          CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta2(:,:,:) ) 
     171         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 
    172172      ELSE 
    173173         zdta2(:,:,:) = 0.0 
     
    179179      cltra = "irrig" 
    180180      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    181          CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta2(:,:,:) ) 
     181         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 
    182182      ELSE 
    183183         zdta2(:,:,:) = 0.0 
     
    189189      cltra = "sedligand" 
    190190      IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 
    191          CALL iom_get( numrsr, jpdom_autoglo, TRIM(cltra), zdta2(:,:,:) ) 
     191         CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 
    192192      ELSE 
    193193         zdta2(:,:,:) = 0.0 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trcdmp.F90

    r12377 r12738  
    204204         !Read in mask from file 
    205205         CALL iom_open ( cn_resto_tr, imask) 
    206          CALL iom_get  ( imask, jpdom_autoglo, 'resto', restotr) 
     206         CALL iom_get  ( imask, jpdom_auto, 'resto', restotr) 
    207207         CALL iom_close( imask ) 
    208208         ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trcsbc.F90

    r12489 r12738  
    8787            zfact = 0.5_wp 
    8888            DO jn = 1, jptra 
    89                CALL iom_get( numrtr, jpdom_autoglo, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc_b(:,:,jn) )   ! before tracer content sbc 
     89               CALL iom_get( numrtr, jpdom_auto, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc_b(:,:,jn) )   ! before tracer content sbc 
    9090            END DO 
    9191         ELSE                                         ! No restart or restart not found: Euler forward time stepping 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trdmxl_trc_rst.F90

    r12377 r12738  
    144144          
    145145         DO jn = 1, jptra 
    146             CALL iom_get( inum, jpdom_autoglo, 'tmlbb_trc_'  //ctrcnm(jn), tmlbb_trc  (:,:,jn) ) 
    147             CALL iom_get( inum, jpdom_autoglo, 'tmlbn_trc_'  //ctrcnm(jn), tmlbn_trc  (:,:,jn) ) 
    148             CALL iom_get( inum, jpdom_autoglo, 'tmlatfb_trc_'//ctrcnm(jn), tmlatfb_trc(:,:,jn) ) 
    149             CALL iom_get( inum, jpdom_autoglo, 'tmlradb_trc_'//ctrcnm(jn), tmlradb_trc(:,:,jn) ) 
     146            CALL iom_get( inum, jpdom_auto, 'tmlbb_trc_'  //ctrcnm(jn), tmlbb_trc  (:,:,jn) ) 
     147            CALL iom_get( inum, jpdom_auto, 'tmlbn_trc_'  //ctrcnm(jn), tmlbn_trc  (:,:,jn) ) 
     148            CALL iom_get( inum, jpdom_auto, 'tmlatfb_trc_'//ctrcnm(jn), tmlatfb_trc(:,:,jn) ) 
     149            CALL iom_get( inum, jpdom_auto, 'tmlradb_trc_'//ctrcnm(jn), tmlradb_trc(:,:,jn) ) 
    150150         END DO 
    151151          
    152152      ELSE 
    153          CALL iom_get( inum, jpdom_autoglo, 'rmldbn_trc', rmldbn_trc ) ! needed for rmld_sum 
     153         CALL iom_get( inum, jpdom_auto, 'rmldbn_trc', rmldbn_trc ) ! needed for rmld_sum 
    154154          
    155155         !                                                          ! =========== 
    156156         DO jn = 1, jptra                                           ! tracer loop 
    157157            !                                                       ! =========== 
    158             CALL iom_get( inum, jpdom_autoglo, 'tmlatfb_trc_' //ctrcnm(jn), tmlatfb_trc(:,:,jn) ) 
    159             CALL iom_get( inum, jpdom_autoglo, 'tmlbb_trc_'   //ctrcnm(jn), tmlbb_trc  (:,:,jn) ) 
    160             CALL iom_get( inum, jpdom_autoglo, 'tmlradb_trc_' //ctrcnm(jn), tmlradb_trc(:,:,jn) ) 
    161  
    162             CALL iom_get( inum, jpdom_autoglo, 'tmlbn_trc_'   //ctrcnm(jn), tmlbn_trc   (:,:,jn) ) ! needed for tml_sum 
    163             CALL iom_get( inum, jpdom_autoglo, 'tml_sumb_trc_'//ctrcnm(jn), tml_sumb_trc(:,:,jn) ) 
     158            CALL iom_get( inum, jpdom_auto, 'tmlatfb_trc_' //ctrcnm(jn), tmlatfb_trc(:,:,jn) ) 
     159            CALL iom_get( inum, jpdom_auto, 'tmlbb_trc_'   //ctrcnm(jn), tmlbb_trc  (:,:,jn) ) 
     160            CALL iom_get( inum, jpdom_auto, 'tmlradb_trc_' //ctrcnm(jn), tmlradb_trc(:,:,jn) ) 
     161 
     162            CALL iom_get( inum, jpdom_auto, 'tmlbn_trc_'   //ctrcnm(jn), tmlbn_trc   (:,:,jn) ) ! needed for tml_sum 
     163            CALL iom_get( inum, jpdom_auto, 'tml_sumb_trc_'//ctrcnm(jn), tml_sumb_trc(:,:,jn) ) 
    164164             
    165165            DO jk = 1, jpltrd_trc 
     
    169169                  WRITE(charout,FMT="('tmltrd_csum_ub_trc_', A3, '_', I2)") ctrcnm(jn), jk 
    170170               ENDIF 
    171                CALL iom_get( inum, jpdom_autoglo, charout, tmltrd_csum_ub_trc(:,:,jk,jn) ) 
     171               CALL iom_get( inum, jpdom_auto, charout, tmltrd_csum_ub_trc(:,:,jk,jn) ) 
    172172            END DO 
    173173             
    174             CALL iom_get( inum, jpdom_autoglo, 'tmltrd_atf_sumb_trc_'//ctrcnm(jn) , & 
     174            CALL iom_get( inum, jpdom_auto, 'tmltrd_atf_sumb_trc_'//ctrcnm(jn) , & 
    175175                 &        tmltrd_atf_sumb_trc(:,:,jn) ) 
    176176 
    177             CALL iom_get( inum, jpdom_autoglo, 'tmltrd_rad_sumb_trc_'//ctrcnm(jn) , & 
     177            CALL iom_get( inum, jpdom_auto, 'tmltrd_rad_sumb_trc_'//ctrcnm(jn) , & 
    178178                 &        tmltrd_rad_sumb_trc(:,:,jn) ) 
    179179            !                                                       ! =========== 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/trcrst.F90

    r12489 r12738  
    113113      ! READ prognostic variables and computes diagnostic variable 
    114114      DO jn = 1, jptra 
    115          CALL iom_get( numrtr, jpdom_autoglo, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm) ) 
    116       END DO 
    117  
    118       DO jn = 1, jptra 
    119          CALL iom_get( numrtr, jpdom_autoglo, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb) ) 
     115         CALL iom_get( numrtr, jpdom_auto, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm) ) 
     116      END DO 
     117 
     118      DO jn = 1, jptra 
     119         CALL iom_get( numrtr, jpdom_auto, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb) ) 
    120120      END DO 
    121121      ! 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/trcstp.F90

    r12489 r12738  
    198198            rsecfst = INT( zkt ) * rn_Dt 
    199199            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean read in the restart file at time-step rsecfst =', rsecfst, ' s ' 
    200             CALL iom_get( numrtr, jpdom_autoglo, 'qsr_mean', qsr_mean )   !  A mean of qsr 
     200            CALL iom_get( numrtr, jpdom_auto, 'qsr_mean', qsr_mean )   !  A mean of qsr 
    201201            CALL iom_get( numrtr, 'nrdcy', zrec )   !  Number of record per days 
    202202            IF( INT( zrec ) == nb_rec_per_day ) THEN 
     
    204204                  IF( jn <= 9 )  THEN 
    205205                    WRITE(cl1,'(i1)') jn 
    206                     CALL iom_get( numrtr, jpdom_autoglo, 'qsr_arr_'//cl1, qsr_arr(:,:,jn) )   !  A mean of qsr 
     206                    CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl1, qsr_arr(:,:,jn) )   !  A mean of qsr 
    207207                  ELSE 
    208208                    WRITE(cl2,'(i2.2)') jn 
    209                     CALL iom_get( numrtr, jpdom_autoglo, 'qsr_arr_'//cl2, qsr_arr(:,:,jn) )   !  A mean of qsr 
     209                    CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl2, qsr_arr(:,:,jn) )   !  A mean of qsr 
    210210                  ENDIF 
    211211              END DO 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/CANAL/MY_SRC/domvvl.F90

    r12489 r12738  
    803803         IF( ln_rstart ) THEN                   !* Read the restart file 
    804804            CALL rst_read_open                  !  open the restart file if necessary 
    805             CALL iom_get( numror, jpdom_autoglo, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
     805            CALL iom_get( numror, jpdom_auto, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
    806806            ! 
    807807            id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) 
     
    814814            !                             ! --------- ! 
    815815            IF( MIN( id1, id2 ) > 0 ) THEN       ! all required arrays exist 
    816                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    817                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     816               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     817               CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    818818               ! needed to restart if land processor not computed  
    819819               IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' 
     
    829829               IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 
    830830               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    831                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     831               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    832832               e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 
    833833               l_1st_euler = .true. 
     
    836836               IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 
    837837               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    838                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     838               CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    839839               e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    840840               l_1st_euler = .true. 
     
    861861               !                          ! ----------------------- ! 
    862862               IF( MIN( id3, id4 ) > 0 ) THEN  ! all required arrays exist 
    863                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
    864                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
     863                  CALL iom_get( numror, jpdom_auto, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
     864                  CALL iom_get( numror, jpdom_auto, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
    865865               ELSE                            ! one at least array is missing 
    866866                  tilde_e3t_b(:,:,:) = 0.0_wp 
     
    871871                  !                       ! ------------ ! 
    872872                  IF( id5 > 0 ) THEN  ! required array exists 
    873                      CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
     873                     CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
    874874                  ELSE                ! array is missing 
    875875                     hdiv_lf(:,:,:) = 0.0_wp 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/CANAL/MY_SRC/sbcmod.F90

    r12489 r12738  
    499499            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 
    500500            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
    501             CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b, ldxios = lrxios )   ! before i-stress  (U-point) 
    502             CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b, ldxios = lrxios )   ! before j-stress  (V-point) 
    503             CALL iom_get( numror, jpdom_autoglo, 'qns_b' , qns_b, ldxios = lrxios )   ! before non solar heat flux (T-point) 
     501            CALL iom_get( numror, jpdom_auto, 'utau_b', utau_b, ldxios = lrxios, cd_type = 'U', psgn = -1._wp )   ! before i-stress  (U-point) 
     502            CALL iom_get( numror, jpdom_auto, 'vtau_b', vtau_b, ldxios = lrxios, cd_type = 'V', psgn = -1._wp )   ! before j-stress  (V-point) 
     503            CALL iom_get( numror, jpdom_auto,  'qns_b',  qns_b, ldxios = lrxios )   ! before non solar heat flux (T-point) 
    504504            ! The 3D heat content due to qsr forcing is treated in traqsr 
    505             ! CALL iom_get( numror, jpdom_autoglo, 'qsr_b' , qsr_b, ldxios = lrxios  ) ! before     solar heat flux (T-point) 
    506             CALL iom_get( numror, jpdom_autoglo, 'emp_b', emp_b, ldxios = lrxios  )    ! before     freshwater flux (T-point) 
     505            ! CALL iom_get( numror, jpdom_auto, 'qsr_b' , qsr_b, ldxios = lrxios  ) ! before     solar heat flux (T-point) 
     506            CALL iom_get( numror, jpdom_auto, 'emp_b', emp_b, ldxios = lrxios  )    ! before     freshwater flux (T-point) 
    507507            ! To ensure restart capability with 3.3x/3.4 restart files    !! to be removed in v3.6 
    508508            IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 
    509                CALL iom_get( numror, jpdom_autoglo, 'sfx_b', sfx_b, ldxios = lrxios )  ! before salt flux (T-point) 
     509               CALL iom_get( numror, jpdom_auto, 'sfx_b', sfx_b, ldxios = lrxios )  ! before salt flux (T-point) 
    510510            ELSE 
    511511               sfx_b (:,:) = sfx(:,:) 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/ISOMIP+/MY_SRC/tradmp.F90

    r12353 r12738  
    220220         !                          ! Read in mask from file 
    221221         CALL iom_open ( cn_resto, imask) 
    222          CALL iom_get  ( imask, jpdom_autoglo, 'resto', resto ) 
     222         CALL iom_get  ( imask, jpdom_auto, 'resto', resto ) 
    223223         CALL iom_close( imask ) 
    224224      ENDIF 
  • NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/VORTEX/MY_SRC/domvvl.F90

    r12489 r12738  
    825825         IF( ln_rstart ) THEN                   !* Read the restart file 
    826826            CALL rst_read_open                  !  open the restart file if necessary 
    827             CALL iom_get( numror, jpdom_autoglo, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
     827            CALL iom_get( numror, jpdom_auto, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
    828828            ! 
    829829            id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) 
     
    836836            !                             ! --------- ! 
    837837            IF( MIN( id1, id2 ) > 0 ) THEN       ! all required arrays exist 
    838                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    839                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     838               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     839               CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    840840               ! needed to restart if land processor not computed  
    841841               IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' 
     
    851851               IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 
    852852               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    853                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
     853               CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 
    854854               e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 
    855855               l_1st_euler = .true. 
     
    858858               IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 
    859859               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 
    860                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
     860               CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 
    861861               e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    862862               l_1st_euler = .true. 
     
    883883               !                          ! ----------------------- ! 
    884884               IF( MIN( id3, id4 ) > 0 ) THEN  ! all required arrays exist 
    885                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
    886                   CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
     885                  CALL iom_get( numror, jpdom_auto, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 
     886                  CALL iom_get( numror, jpdom_auto, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 
    887887               ELSE                            ! one at least array is missing 
    888888                  tilde_e3t_b(:,:,:) = 0.0_wp 
     
    893893                  !                       ! ------------ ! 
    894894                  IF( id5 > 0 ) THEN  ! required array exists 
    895                      CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
     895                     CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 
    896896                  ELSE                ! array is missing 
    897897                     hdiv_lf(:,:,:) = 0.0_wp 
Note: See TracChangeset for help on using the changeset viewer.