Changeset 12738
- Timestamp:
- 2020-04-11T15:38:38+02:00 (4 years ago)
- 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 165 165 166 166 ! --- mandatory fields --- ! 167 CALL iom_get( numrar, jpdom_auto glo, 'u_abl', u_abl(:,:,:,nt_n ))168 CALL iom_get( numrar, jpdom_auto glo, 'v_abl', v_abl(:,:,:,nt_n ))169 CALL iom_get( numrar, jpdom_auto glo, 't_abl', tq_abl(:,:,:,nt_n,jp_ta) )170 CALL iom_get( numrar, jpdom_auto glo, 'q_abl', tq_abl(:,:,:,nt_n,jp_qa) )171 CALL iom_get( numrar, jpdom_auto glo, 'tke_abl', tke_abl(:,:,:,nt_n ) )172 CALL iom_get( numrar, jpdom_auto glo, 'avm_abl', avm_abl(:,:,: ) )173 CALL iom_get( numrar, jpdom_auto glo, 'avt_abl', avt_abl(:,:,: ) )174 CALL iom_get( numrar, jpdom_auto glo, 'mxl_abl', mxl_abl(:,:,: ) )175 CALL iom_get( numrar, jpdom_auto glo, '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(:,: ) ) 176 176 CALL iom_delay_rst( 'READ', 'ABL', numrar ) ! read only abl delayed global communication variables 177 177 -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icedia.F90
r12489 r12738 230 230 CALL iom_get( numrir, 'frc_tembot' , frc_tembot ) 231 231 CALL iom_get( numrir, 'frc_sal' , frc_sal ) 232 CALL iom_get( numrir, jpdom_auto glo, 'vol_loc_ini', vol_loc_ini )233 CALL iom_get( numrir, jpdom_auto glo, 'tem_loc_ini', tem_loc_ini )234 CALL iom_get( numrir, jpdom_auto glo, '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 ) 235 235 ELSE 236 236 IF(lwp) WRITE(numout,*) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icedyn_adv_pra.F90
r12489 r12738 772 772 ! 773 773 ! ! ice thickness 774 CALL iom_get( numrir, jpdom_auto glo, 'sxice' , sxice )775 CALL iom_get( numrir, jpdom_auto glo, 'syice' , syice )776 CALL iom_get( numrir, jpdom_auto glo, 'sxxice', sxxice )777 CALL iom_get( numrir, jpdom_auto glo, 'syyice', syyice )778 CALL iom_get( numrir, jpdom_auto glo, '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 ) 779 779 ! ! snow thickness 780 CALL iom_get( numrir, jpdom_auto glo, 'sxsn' , sxsn )781 CALL iom_get( numrir, jpdom_auto glo, 'sysn' , sysn )782 CALL iom_get( numrir, jpdom_auto glo, 'sxxsn' , sxxsn )783 CALL iom_get( numrir, jpdom_auto glo, 'syysn' , syysn )784 CALL iom_get( numrir, jpdom_auto glo, '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 ) 785 785 ! ! ice concentration 786 CALL iom_get( numrir, jpdom_auto glo, 'sxa' , sxa )787 CALL iom_get( numrir, jpdom_auto glo, 'sya' , sya )788 CALL iom_get( numrir, jpdom_auto glo, 'sxxa' , sxxa )789 CALL iom_get( numrir, jpdom_auto glo, 'syya' , syya )790 CALL iom_get( numrir, jpdom_auto glo, '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 ) 791 791 ! ! ice salinity 792 CALL iom_get( numrir, jpdom_auto glo, 'sxsal' , sxsal )793 CALL iom_get( numrir, jpdom_auto glo, 'sysal' , sysal )794 CALL iom_get( numrir, jpdom_auto glo, 'sxxsal', sxxsal )795 CALL iom_get( numrir, jpdom_auto glo, 'syysal', syysal )796 CALL iom_get( numrir, jpdom_auto glo, '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 ) 797 797 ! ! ice age 798 CALL iom_get( numrir, jpdom_auto glo, 'sxage' , sxage )799 CALL iom_get( numrir, jpdom_auto glo, 'syage' , syage )800 CALL iom_get( numrir, jpdom_auto glo, 'sxxage', sxxage )801 CALL iom_get( numrir, jpdom_auto glo, 'syyage', syyage )802 CALL iom_get( numrir, jpdom_auto glo, '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 ) 803 803 ! ! snow layers heat content 804 804 DO jk = 1, nlay_s 805 805 WRITE(zchar1,'(I2.2)') jk 806 znam = 'sxc0'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; sxc0 (:,:,jk,:) = z3d(:,:,:)807 znam = 'syc0'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; syc0 (:,:,jk,:) = z3d(:,:,:)808 znam = 'sxxc0'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; sxxc0(:,:,jk,:) = z3d(:,:,:)809 znam = 'syyc0'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; syyc0(:,:,jk,:) = z3d(:,:,:)810 znam = 'sxyc0'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, 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(:,:,:) 811 811 END DO 812 812 ! ! ice layers heat content 813 813 DO jk = 1, nlay_i 814 814 WRITE(zchar1,'(I2.2)') jk 815 znam = 'sxe'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; sxe (:,:,jk,:) = z3d(:,:,:)816 znam = 'sye'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; sye (:,:,jk,:) = z3d(:,:,:)817 znam = 'sxxe'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; sxxe(:,:,jk,:) = z3d(:,:,:)818 znam = 'syye'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, znam , z3d ) ; syye(:,:,jk,:) = z3d(:,:,:)819 znam = 'sxye'//'_l'//zchar1 ; CALL iom_get( numrir, jpdom_auto glo, 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(:,:,:) 820 820 END DO 821 821 ! 822 822 IF( ln_pnd_H12 ) THEN ! melt pond fraction 823 CALL iom_get( numrir, jpdom_auto glo, 'sxap' , sxap )824 CALL iom_get( numrir, jpdom_auto glo, 'syap' , syap )825 CALL iom_get( numrir, jpdom_auto glo, 'sxxap', sxxap )826 CALL iom_get( numrir, jpdom_auto glo, 'syyap', syyap )827 CALL iom_get( numrir, jpdom_auto glo, '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 ) 828 828 ! ! melt pond volume 829 CALL iom_get( numrir, jpdom_auto glo, 'sxvp' , sxvp )830 CALL iom_get( numrir, jpdom_auto glo, 'syvp' , syvp )831 CALL iom_get( numrir, jpdom_auto glo, 'sxxvp', sxxvp )832 CALL iom_get( numrir, jpdom_auto glo, 'syyvp', syyvp )833 CALL iom_get( numrir, jpdom_auto glo, '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 ) 834 834 ENDIF 835 835 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icedyn_rhg_evp.F90
r12489 r12738 844 844 ! 845 845 IF( MIN( id1, id2, id3 ) > 0 ) THEN ! fields exist 846 CALL iom_get( numrir, jpdom_auto glo, 'stress1_i' , stress1_i)847 CALL iom_get( numrir, jpdom_auto glo, 'stress2_i' , stress2_i)848 CALL iom_get( numrir, jpdom_auto glo, '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' ) 849 849 ELSE ! start rheology from rest 850 850 IF(lwp) WRITE(numout,*) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/ICE/icerst.F90
r12377 r12738 211 211 212 212 ! --- mandatory fields --- ! 213 CALL iom_get( numrir, jpdom_auto glo, 'v_i' , v_i )214 CALL iom_get( numrir, jpdom_auto glo, 'v_s' , v_s )215 CALL iom_get( numrir, jpdom_auto glo, 'sv_i' , sv_i )216 CALL iom_get( numrir, jpdom_auto glo, 'a_i' , a_i )217 CALL iom_get( numrir, jpdom_auto glo, 't_su' , t_su )218 CALL iom_get( numrir, jpdom_auto glo, 'u_ice', u_ice)219 CALL iom_get( numrir, jpdom_auto glo, '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 ) 220 220 ! Snow enthalpy 221 221 DO jk = 1, nlay_s 222 222 WRITE(zchar1,'(I2.2)') jk 223 223 znam = 'e_s'//'_l'//zchar1 224 CALL iom_get( numrir, jpdom_auto glo, znam , z3d )224 CALL iom_get( numrir, jpdom_auto, znam , z3d ) 225 225 e_s(:,:,jk,:) = z3d(:,:,:) 226 226 END DO … … 229 229 WRITE(zchar1,'(I2.2)') jk 230 230 znam = 'e_i'//'_l'//zchar1 231 CALL iom_get( numrir, jpdom_auto glo, znam , z3d )231 CALL iom_get( numrir, jpdom_auto, znam , z3d ) 232 232 e_i(:,:,jk,:) = z3d(:,:,:) 233 233 END DO … … 236 236 id1 = iom_varid( numrir, 'oa_i' , ldstop = .FALSE. ) 237 237 IF( id1 > 0 ) THEN ! fields exist 238 CALL iom_get( numrir, jpdom_auto glo, 'oa_i', oa_i )238 CALL iom_get( numrir, jpdom_auto, 'oa_i', oa_i ) 239 239 ELSE ! start from rest 240 240 IF(lwp) WRITE(numout,*) ' ==>> previous run without ice age output then set it to zero' … … 244 244 id2 = iom_varid( numrir, 'a_ip' , ldstop = .FALSE. ) 245 245 IF( id2 > 0 ) THEN ! fields exist 246 CALL iom_get( numrir, jpdom_auto glo, 'a_ip' , a_ip )247 CALL iom_get( numrir, jpdom_auto glo, '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 ) 248 248 ELSE ! start from rest 249 249 IF(lwp) WRITE(numout,*) ' ==>> previous run without melt ponds output then set it to zero' … … 256 256 id4 = iom_varid( numrir, 't1_ice' , ldstop = .FALSE. ) 257 257 IF( id3 > 0 .AND. id4 > 0 ) THEN ! fields exist 258 CALL iom_get( numrir, jpdom_auto glo, 'cnd_ice', cnd_ice )259 CALL iom_get( numrir, jpdom_auto glo, '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 ) 260 260 ELSE ! start from rest 261 261 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 417 417 ! 418 418 IF( id1 > 0 ) THEN ! fields exist 419 CALL iom_get( numrir, jpdom_auto glo, 'snwice_mass' , snwice_mass )420 CALL iom_get( numrir, jpdom_auto glo, '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 ) 421 421 ELSE ! start from rest 422 422 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 359 359 360 360 IF ( ln_trainc ) THEN 361 CALL iom_get( inum, jpdom_auto glo, 'bckint', t_bkginc, 1 )362 CALL iom_get( inum, jpdom_auto glo, '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 ) 363 363 ! Apply the masks 364 364 t_bkginc(:,:,:) = t_bkginc(:,:,:) * tmask(:,:,:) … … 371 371 372 372 IF ( ln_dyninc ) THEN 373 CALL iom_get( inum, jpdom_auto glo, 'bckinu', u_bkginc, 1 )374 CALL iom_get( inum, jpdom_auto glo, '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 ) 375 375 ! Apply the masks 376 376 u_bkginc(:,:,:) = u_bkginc(:,:,:) * umask(:,:,:) … … 383 383 384 384 IF ( ln_sshinc ) THEN 385 CALL iom_get( inum, jpdom_auto glo, 'bckineta', ssh_bkginc, 1 )385 CALL iom_get( inum, jpdom_auto, 'bckineta', ssh_bkginc, 1 ) 386 386 ! Apply the masks 387 387 ssh_bkginc(:,:) = ssh_bkginc(:,:) * tmask(:,:,1) … … 392 392 393 393 IF ( ln_seaiceinc ) THEN 394 CALL iom_get( inum, jpdom_auto glo, 'bckinseaice', seaice_bkginc, 1 )394 CALL iom_get( inum, jpdom_auto, 'bckinseaice', seaice_bkginc, 1 ) 395 395 ! Apply the masks 396 396 seaice_bkginc(:,:) = seaice_bkginc(:,:) * tmask(:,:,1) … … 465 465 ! 466 466 IF ( ln_trainc ) THEN 467 CALL iom_get( inum, jpdom_auto glo, 'tn', t_bkg )468 CALL iom_get( inum, jpdom_auto glo, 'sn', s_bkg )467 CALL iom_get( inum, jpdom_auto, 'tn', t_bkg ) 468 CALL iom_get( inum, jpdom_auto, 'sn', s_bkg ) 469 469 t_bkg(:,:,:) = t_bkg(:,:,:) * tmask(:,:,:) 470 470 s_bkg(:,:,:) = s_bkg(:,:,:) * tmask(:,:,:) … … 472 472 ! 473 473 IF ( ln_dyninc ) THEN 474 CALL iom_get( inum, jpdom_auto glo, 'un', u_bkg)475 CALL iom_get( inum, jpdom_auto glo, '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 ) 476 476 u_bkg(:,:,:) = u_bkg(:,:,:) * umask(:,:,:) 477 477 v_bkg(:,:,:) = v_bkg(:,:,:) * vmask(:,:,:) … … 479 479 ! 480 480 IF ( ln_sshinc ) THEN 481 CALL iom_get( inum, jpdom_auto glo, 'sshn', ssh_bkg )481 CALL iom_get( inum, jpdom_auto, 'sshn', ssh_bkg ) 482 482 ssh_bkg(:,:) = ssh_bkg(:,:) * tmask(:,:,1) 483 483 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/BDY/bdytides.F90
r12489 r12738 166 166 igrd = 1 ! Everything is at T-points here 167 167 DO itide = 1, nb_harmo 168 CALL iom_get( inum, jpdom_auto glo, TRIM(tide_harmonics(itide)%cname_tide)//'_z1', ztr(:,:) )169 CALL iom_get( inum, jpdom_auto glo, 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(:,:) ) 170 170 DO ib = 1, ilen0(igrd) 171 171 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 183 183 igrd = 2 ! Everything is at U-points here 184 184 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) 187 187 DO ib = 1, ilen0(igrd) 188 188 ii = idx_bdy(ib_bdy)%nbi(ib,igrd) … … 200 200 igrd = 3 ! Everything is at V-points here 201 201 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) 204 204 DO ib = 1, ilen0(igrd) 205 205 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 121 121 !Read in mask from file 122 122 CALL iom_open ( cn_resto, imask) 123 CALL iom_get ( imask, jpdom_auto glo, 'resto', resto)123 CALL iom_get ( imask, jpdom_auto, 'resto', resto) 124 124 CALL iom_close( imask ) 125 125 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DIA/diaar5.F90
r12489 r12738 392 392 ALLOCATE( zsaldta(jpi,jpj,jpk,jpts) ) 393 393 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 ) 396 396 CALL iom_close( inum ) 397 397 -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DIA/diahsb.F90
r12489 r12738 269 269 CALL iom_get( numror, 'frc_wn_s', frc_wn_s, ldxios = lrxios ) 270 270 ENDIF 271 CALL iom_get( numror, jpdom_auto glo, 'surf_ini' , surf_ini , ldxios = lrxios ) ! ice sheet coupling272 CALL iom_get( numror, jpdom_auto glo, 'ssh_ini' , ssh_ini , ldxios = lrxios )273 CALL iom_get( numror, jpdom_auto glo, 'e3t_ini' , e3t_ini , ldxios = lrxios )274 CALL iom_get( numror, jpdom_auto glo, 'tmask_ini' , tmask_ini , ldxios = lrxios )275 CALL iom_get( numror, jpdom_auto glo, 'hc_loc_ini', hc_loc_ini, ldxios = lrxios )276 CALL iom_get( numror, jpdom_auto glo, '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 ) 277 277 IF( ln_linssh ) THEN 278 CALL iom_get( numror, jpdom_auto glo, 'ssh_hc_loc_ini', ssh_hc_loc_ini, ldxios = lrxios )279 CALL iom_get( numror, jpdom_auto glo, '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 ) 280 280 ENDIF 281 281 ELSE -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DIA/diaptr.F90
r12489 r12738 353 353 btmsk(:,:,1) = tmask_i(:,:) 354 354 CALL iom_open( 'subbasins', inum, ldstop = .FALSE. ) 355 CALL iom_get( inum, jpdom_ data, 'atlmsk', btmsk(:,:,2) ) ! Atlantic basin356 CALL iom_get( inum, jpdom_ data, 'pacmsk', btmsk(:,:,3) ) ! Pacific basin357 CALL iom_get( inum, jpdom_ data, 'indmsk', btmsk(:,:,4) ) ! Indian basin355 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 358 358 CALL iom_close( inum ) 359 359 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 22 22 ! 23 23 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 routines24 USE iom , ONLY: iom_open, iom_get, iom_close, jpdom_global ! I/O routines 25 25 USE lib_fortran , ONLY: glob_sum ! fortran library 26 26 USE lib_mpp , ONLY: mpp_max, ctl_nam, ctl_stop ! MPP library … … 236 236 ! 237 237 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 ) 239 239 CALL iom_close( ics ) 240 240 k_mskout(:,:) = NINT(zdta(:,:)) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domhgr.F90
r10068 r12738 189 189 CALL iom_open( cn_domcfg, inum ) 190 190 ! 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 ) 210 210 ! 211 211 IF( iom_varid( inum, 'ff_f', ldstop = .FALSE. ) > 0 .AND. & 212 212 & iom_varid( inum, 'ff_t', ldstop = .FALSE. ) > 0 ) THEN 213 213 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 ) 216 216 kff = 1 217 217 ELSE … … 221 221 IF( iom_varid( inum, 'e1e2u', ldstop = .FALSE. ) > 0 ) THEN 222 222 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 ) 225 225 ke1e2u_v = 1 226 226 ELSE -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/dommsk.F90
r12377 r12738 151 151 IF ( ln_bdy .AND. ln_mask_file ) THEN 152 152 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(:,:) ) 154 154 CALL iom_close( inum ) 155 155 DO_3D_11_11( 1, jpkm1 ) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domvvl.F90
r12489 r12738 793 793 IF( ln_rstart ) THEN !* Read the restart file 794 794 CALL rst_read_open ! open the restart file if necessary 795 CALL iom_get( numror, jpdom_auto glo, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios )795 CALL iom_get( numror, jpdom_auto, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios ) 796 796 ! 797 797 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 806 806 ! 807 807 IF( MIN( id1, id2 ) > 0 ) THEN ! all required arrays exist 808 CALL iom_get( numror, jpdom_auto glo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )809 CALL iom_get( numror, jpdom_auto glo, '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 ) 810 810 ! needed to restart if land processor not computed 811 811 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' … … 821 821 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 822 822 IF(lwp) write(numout,*) 'l_1st_euler is forced to true' 823 CALL iom_get( numror, jpdom_auto glo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )823 CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 824 824 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 825 825 l_1st_euler = .true. … … 828 828 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 829 829 IF(lwp) write(numout,*) 'l_1st_euler is forced to true' 830 CALL iom_get( numror, jpdom_auto glo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios )830 CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 831 831 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 832 832 l_1st_euler = .true. … … 853 853 ! ! ----------------------- ! 854 854 IF( MIN( id3, id4 ) > 0 ) THEN ! all required arrays exist 855 CALL iom_get( numror, jpdom_auto glo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios )856 CALL iom_get( numror, jpdom_auto glo, '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 ) 857 857 ELSE ! one at least array is missing 858 858 tilde_e3t_b(:,:,:) = 0.0_wp … … 863 863 ! ! ------------ ! 864 864 IF( id5 > 0 ) THEN ! required array exists 865 CALL iom_get( numror, jpdom_auto glo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios )865 CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 866 866 ELSE ! array is missing 867 867 hdiv_lf(:,:,:) = 0.0_wp -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DOM/domzgr.F90
r12377 r12738 236 236 CALL iom_get( inum, jpdom_unknown, 'e3w_1d' , pe3w_1d ) 237 237 ! 238 CALL iom_get( inum, jpdom_ data, 'e3t_0' , pe3t , lrowattr=ln_use_jattr) ! 3D coordinate239 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 ) 245 245 ! 246 246 ! !* depths … … 254 254 CALL iom_get( inum, jpdom_unknown, 'gdept_1d', pdept_1d ) 255 255 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 ) 258 258 ! 259 259 ELSE !- depths computed from e3. scale factors … … 269 269 ! 270 270 ! !* 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) 272 272 k_top(:,:) = NINT( z2d(:,:) ) 273 CALL iom_get( inum, jpdom_ data, 'bottom_level' , z2d , lrowattr=ln_use_jattr) ! last wet T-points273 CALL iom_get( inum, jpdom_global, 'bottom_level' , z2d ) ! last wet T-points 274 274 k_bot(:,:) = NINT( z2d(:,:) ) 275 275 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/DYN/dynspg_ts.F90
r12489 r12738 891 891 ! ! --------------- 892 892 IF( ln_rstart .AND. ln_bt_fw .AND. (.NOT.l_1st_euler) ) THEN !* Read the restart file 893 CALL iom_get( numror, jpdom_auto glo, 'ub2_b' , ub2_b (:,:), ldxios = lrxios )894 CALL iom_get( numror, jpdom_auto glo, 'vb2_b' , vb2_b (:,:), ldxios = lrxios )895 CALL iom_get( numror, jpdom_auto glo, 'un_bf' , un_bf (:,:), ldxios = lrxios )896 CALL iom_get( numror, jpdom_auto glo, '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 ) 897 897 IF( .NOT.ln_bt_av ) THEN 898 CALL iom_get( numror, jpdom_auto glo, 'sshbb_e' , sshbb_e(:,:), ldxios = lrxios )899 CALL iom_get( numror, jpdom_auto glo, 'ubb_e' , ubb_e(:,:), ldxios = lrxios )900 CALL iom_get( numror, jpdom_auto glo, 'vbb_e' , vbb_e(:,:), ldxios = lrxios )901 CALL iom_get( numror, jpdom_auto glo, 'sshb_e' , sshb_e(:,:), ldxios = lrxios )902 CALL iom_get( numror, jpdom_auto glo, 'ub_e' , ub_e(:,:), ldxios = lrxios )903 CALL iom_get( numror, jpdom_auto glo, '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 ) 904 904 ENDIF 905 905 #if defined key_agrif 906 906 ! Read time integrated fluxes 907 907 IF ( .NOT.Agrif_Root() ) THEN 908 CALL iom_get( numror, jpdom_auto glo, 'ub2_i_b' , ub2_i_b(:,:), ldxios = lrxios )909 CALL iom_get( numror, jpdom_auto glo, '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 ) 910 910 ENDIF 911 911 #endif -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB/icbini.F90
r12489 r12738 256 256 ivar = iom_varid( inum, 'maxclass', ldstop=.FALSE. ) 257 257 IF( ivar > 0 ) THEN 258 CALL iom_get ( inum, jpdom_ data, 'maxclass', src_calving ) ! read the max distribution array258 CALL iom_get ( inum, jpdom_global, 'maxclass', src_calving ) ! read the max distribution array 259 259 berg_grid%maxclass(:,:) = INT( src_calving ) 260 260 src_calving(:,:) = 0._wp -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ICB/icbrst.F90
r12472 r12738 123 123 124 124 ! Gridded variables 125 CALL iom_get( ncid, jpdom_auto glo, 'calving' , src_calving )126 CALL iom_get( ncid, jpdom_auto glo, 'calving_hflx', src_calving_hflx )127 CALL iom_get( ncid, jpdom_auto glo, 'stored_heat' , berg_grid%stored_heat )128 CALL iom_get( ncid, jpdom_auto glo_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/) ) 129 129 130 130 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 665 665 666 666 667 SUBROUTINE iom_open( cdname, kiomid, ldwrt, kdom,ldstop, ldiof, kdlev )667 SUBROUTINE iom_open( cdname, kiomid, ldwrt, ldstop, ldiof, kdlev ) 668 668 !!--------------------------------------------------------------------- 669 669 !! *** SUBROUTINE iom_open *** … … 674 674 INTEGER , INTENT( out) :: kiomid ! iom identifier of the opened file 675 675 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)677 676 LOGICAL , INTENT(in ), OPTIONAL :: ldstop ! stop if open to read a non-existing file (default = .TRUE.) 678 677 LOGICAL , INTENT(in ), OPTIONAL :: ldiof ! Interp On the Fly, needed for AGRIF (default = .FALSE.) … … 686 685 LOGICAL :: llok ! check the existence 687 686 LOGICAL :: llwrt ! local definition of ldwrt 688 LOGICAL :: llnoov ! local definition to read overlap689 687 LOGICAL :: llstop ! local definition of ldstop 690 688 LOGICAL :: lliof ! local definition of ldiof 691 689 INTEGER :: icnt ! counter for digits in clcpu (max = jpmax_digits) 692 690 INTEGER :: iln, ils ! lengths of character 693 INTEGER :: idom ! type of domain694 691 INTEGER :: istop ! 695 692 INTEGER, DIMENSION(2,5) :: idompar ! domain parameters: … … 725 722 ELSE ; lliof = .FALSE. 726 723 ENDIF 727 ! do we read the overlap728 ! ugly patch SM+JMM+RB to overwrite global definition in some cases729 llnoov = (jpni * jpnj ) == jpnij .AND. .NOT. lk_agrif730 724 ! create the file name by added, if needed, TRIM(Agrif_CFixed()) and TRIM(clsuffix) 731 725 ! ============= … … 768 762 ENDIF 769 763 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 /) 801 769 ENDIF 802 770 ! Open the NetCDF file … … 991 959 END SUBROUTINE iom_g0d 992 960 993 SUBROUTINE iom_g1d( kiomid, kdom, cdvar, pvar, ktime, kstart, kcount, ldxios )961 SUBROUTINE iom_g1d( kiomid, kdom, cdvar, pvar, ktime, kstart, kcount, ldxios ) 994 962 INTEGER , INTENT(in ) :: kiomid ! Identifier of the file 995 963 INTEGER , INTENT(in ) :: kdom ! Type of domain to be read … … 1002 970 ! 1003 971 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 ) 1007 975 ENDIF 1008 976 END SUBROUTINE iom_g1d 1009 977 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 1023 989 ! 1024 990 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 ) 1028 994 ENDIF 1029 995 END SUBROUTINE iom_g2d 1030 996 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 1044 1008 ! 1045 1009 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 ) 1049 1013 ENDIF 1050 1014 END SUBROUTINE iom_g3d 1051 1015 !!---------------------------------------------------------------------- 1052 1016 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 ) 1057 1019 !!----------------------------------------------------------------------- 1058 1020 !! *** ROUTINE iom_get_123d *** … … 1062 1024 !! ** Method : read ONE record at each CALL 1063 1025 !!----------------------------------------------------------------------- 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 1083 1041 INTEGER :: jl ! loop on number of dimension 1084 1042 INTEGER :: idom ! type of domain … … 1097 1055 INTEGER, DIMENSION(jpmax_dims) :: ishape ! size of the dimensions of the variable 1098 1056 REAL(wp) :: zscf, zofs ! sacle_factor and add_offset 1057 REAL(wp) :: zsgn ! local value of psgn 1099 1058 INTEGER :: itmp ! temporary integer 1100 1059 CHARACTER(LEN=256) :: clinfo ! info character 1101 1060 CHARACTER(LEN=256) :: clname ! file name 1102 1061 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. 1104 1064 INTEGER :: inlev ! number of levels for 3D data 1105 1065 REAL(wp) :: gma, gmi … … 1110 1070 ! 1111 1071 llxios = .FALSE. 1112 if(PRESENT(ldxios))llxios = ldxios1113 idvar = iom_varid( kiomid, cdvar )1072 IF( PRESENT(ldxios) ) llxios = ldxios 1073 ! 1114 1074 idom = kdom 1075 istop = nstop 1115 1076 ! 1116 1077 IF(.NOT.llxios) THEN 1117 1078 clname = iom_file(kiomid)%name ! esier to read 1118 1079 clinfo = ' iom_get_123d, file: '//trim(clname)//', var: '//trim(cdvar) 1119 ! local definition of the domain ?1120 ! do we read the overlap1121 ! ugly patch SM+JMM+RB to overwrite global definition in some cases1122 llnoov = (jpni * jpnj ) == jpnij .AND. .NOT. lk_agrif1123 1080 ! 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 ! 1135 1086 ! Search for the variable in the data base (eventually actualize data) 1136 istop = nstop1137 1087 ! 1088 idvar = iom_varid( kiomid, cdvar ) 1138 1089 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 1141 1092 inbdim = iom_file(kiomid)%ndims(idvar) ! number of dimensions in the file 1142 1093 idmspc = inbdim ! number of spatial dimensions in the file … … 1144 1095 IF( idmspc > 3 ) CALL ctl_stop(trim(clinfo), 'the file has more than 3 spatial dimensions this case is not coded...') 1145 1096 ! 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 1158 1102 ind1 = INDEX( clname, '_', back = .TRUE. ) + 1 1159 1103 ind2 = INDEX( clname, '.', back = .TRUE. ) - 1 1160 1104 IF( ind2 > ind1 ) THEN ; IF( VERIFY( clname(ind1:ind2), '0123456789' ) == 0 ) idom = jpdom_local ; ENDIF 1161 ENDIF1162 ! Identify the domain in case of jpdom_local definition1163 IF( idom == jpdom_local ) THEN1164 IF( idimsz(1) == jpi .AND. idimsz(2) == jpj ) THEN ; idom = jpdom_local_full1165 ELSEIF( idimsz(1) == nlci .AND. idimsz(2) == nlcj ) THEN ; idom = jpdom_local_noextra1166 ELSEIF( idimsz(1) == (nlei - nldi + 1) .AND. idimsz(2) == (nlej - nldj + 1) ) THEN ; idom = jpdom_local_noovlap1167 ELSE ; CALL ctl_stop( trim(clinfo), 'impossible to identify the local domain' )1168 ENDIF1169 1105 ENDIF 1170 1106 ! … … 1179 1115 WRITE(cldmspc , fmt='(i1)') idmspc 1180 1116 ! 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 1187 1130 IF( PRESENT(pv_r1d) .AND. idom /= jpdom_unknown ) & 1188 1131 & 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... 1190 1133 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...' , & 1192 1135 & 'As the size of the z dimension is 1 and as we try to read the first record, ', & 1193 1136 & 'we accept this case, even if there is a possible mix-up between z and time dimension' ) … … 1202 1145 ! definition of istart and icnt 1203 1146 ! 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) 1206 1149 istart(idmspc+1) = itime 1207 1208 IF( PRESENT(kstart) .AND. .NOT. ll_ depth_spec) THEN1150 ! 1151 IF( PRESENT(kstart) .AND. .NOT. ll_only3rd ) THEN 1209 1152 istart(1:idmspc) = kstart(1:idmspc) 1210 1153 icnt (1:idmspc) = kcount(1:idmspc) … … 1214 1157 ELSE 1215 1158 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 /) 1235 1162 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 1239 1165 ENDIF 1240 1166 ENDIF … … 1242 1168 ENDIF 1243 1169 ENDIF 1244 1170 ! 1245 1171 ! check that istart and icnt can be used with this file 1246 1172 !- … … 1253 1179 ENDIF 1254 1180 END DO 1255 1181 ! 1256 1182 ! check that icnt matches the input array 1257 1183 !- … … 1263 1189 ELSE 1264 1190 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)' 1270 1192 ENDIF 1271 1193 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,:)' 1277 1195 ENDIF 1278 ENDIF 1279 1196 ENDIF 1280 1197 DO jl = 1, irankpv 1281 1198 WRITE( ctmp2, FMT="(', ', i1,'): ', i5,' /= icnt(', i1,'):', i5)" ) jl, ishape(jl), jl, icnt(jl) … … 1289 1206 IF( idvar > 0 .AND. istop == nstop ) THEN ! no additional errors until this point... 1290 1207 ! 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) 1304 1211 ENDIF 1305 1212 … … 1308 1215 IF( istop == nstop ) THEN ! no additional errors until this point... 1309 1216 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 1311 1222 !--- overlap areas and extra hallows (mpp) 1312 1223 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 ) 1314 1225 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 ) 1322 1227 ENDIF 1323 1228 ! … … 1336 1241 CALL iom_swap( TRIM(crxios_context) ) 1337 1242 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) 1340 1244 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) 1344 1246 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) 1347 1248 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) 1351 1250 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) 1354 1252 CALL xios_recv_field( trim(cdvar), pv_r1d) 1355 1253 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/IOM/iom_def.F90
r12377 r12738 13 13 PRIVATE 14 14 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 25 20 26 21 INTEGER, PARAMETER, PUBLIC :: jp_r8 = 200 !: write REAL(8) … … 35 30 INTEGER, PARAMETER, PUBLIC :: jpmax_digits = 5 !: maximum number of digits for the cpu number in the file name 36 31 37 38 32 !$AGRIF_DO_NOT_TREAT 39 33 INTEGER, PUBLIC :: iom_open_init = 0 !: used to initialize iom_file(:)%nfid to 0 … … 45 39 LOGICAL, PUBLIC :: lxios_sini = .FALSE. ! is restart in a single file 46 40 LOGICAL, PUBLIC :: lxios_set = .FALSE. 47 48 49 41 50 42 TYPE, PUBLIC :: file_descriptor -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/IOM/restart.F90
r12489 r12738 259 259 260 260 ! Diurnal DSST 261 IF( ln_diurnal ) CALL iom_get( numror, jpdom_auto glo, 'Dsst' , x_dsst, ldxios = lrxios )261 IF( ln_diurnal ) CALL iom_get( numror, jpdom_auto, 'Dsst' , x_dsst, ldxios = lrxios ) 262 262 IF ( ln_diurnal_only ) THEN 263 263 IF(lwp) WRITE( numout, * ) & 264 264 & "rst_read:- ln_diurnal_only set, setting rhop=rho0" 265 265 rhop = rho0 266 CALL iom_get( numror, jpdom_auto glo, 'tn' , w3d, ldxios = lrxios )266 CALL iom_get( numror, jpdom_auto, 'tn' , w3d, ldxios = lrxios ) 267 267 ts(:,:,1,jp_tem,Kmm) = w3d(:,:,1) 268 268 RETURN … … 270 270 271 271 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 ) 277 278 ELSE 278 279 l_1st_euler = .TRUE. ! before field not found, forced euler 1st time-step 279 280 ENDIF 280 281 ! 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 ) 286 288 IF( iom_varid( numror, 'rhop', ldstop = .FALSE. ) > 0 ) THEN 287 CALL iom_get( numror, jpdom_auto glo, 'rhop' , rhop, ldxios = lrxios ) ! now potential density289 CALL iom_get( numror, jpdom_auto, 'rhop' , rhop, ldxios = lrxios ) ! now potential density 288 290 ELSE 289 291 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 166 166 !!---------------------------------------------------------------------- 167 167 ! 168 CALL iom_get( numror, jpdom_auto glo, 'ssmask' , zssmask_b, ldxios = lrxios ) ! need to extrapolate T/S168 CALL iom_get( numror, jpdom_auto, 'ssmask' , zssmask_b, ldxios = lrxios ) ! need to extrapolate T/S 169 169 170 170 ! compute new ssh if we open a full water column … … 245 245 !!---------------------------------------------------------------------- 246 246 ! 247 CALL iom_get( numror, jpdom_auto glo, 'tmask' , ztmask_b, ldxios = lrxios ) ! need to extrapolate T/S248 !CALL iom_get( numror, jpdom_auto glo, 'wmask' , zwmask_b, ldxios = lrxios ) ! need to extrapolate T/S249 !CALL iom_get( numror, jpdom_auto glo, '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) 250 250 ! 251 251 ! … … 391 391 !!---------------------------------------------------------------------- 392 392 ! 393 CALL iom_get( numror, jpdom_auto glo, 'tmask' , ztmask_b, ldxios = lrxios )394 CALL iom_get( numror, jpdom_auto glo, 'e3u_n' , ze3u_b , ldxios = lrxios )395 CALL iom_get( numror, jpdom_auto glo, '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 ) 396 396 ! 397 397 ! 1.0: compute horizontal volume flux divergence difference before-after coupling … … 495 495 496 496 ! get restart variable 497 CALL iom_get( numror, jpdom_auto glo, 'tmask' , ztmask_b(:,:,:), ldxios = lrxios ) ! need to extrapolate T/S498 CALL iom_get( numror, jpdom_auto glo, 'e3t_n' , ze3t_b(:,:,:) , ldxios = lrxios )499 CALL iom_get( numror, jpdom_auto glo, 'tn' , zt_b(:,:,:) , ldxios = lrxios )500 CALL iom_get( numror, jpdom_auto glo, '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 ) 501 501 502 502 ! compute run length -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ISF/isfrst.F90
r11931 r12738 53 53 IF( iom_varid( numror, cfwf_b, ldstop = .FALSE. ) > 0 ) THEN 54 54 IF(lwp) WRITE(numout,*) ' nit000-1 isf tracer content forcing fields read in the restart file' 55 CALL iom_get( numror, jpdom_auto glo, cfwf_b, pfwf_b(:,:) , ldxios = lrxios ) ! before ice shelf melt56 CALL iom_get( numror, jpdom_auto glo, chc_b , ptsc_b (:,:,jp_tem), ldxios = lrxios ) ! before ice shelf heat flux57 CALL iom_get( numror, jpdom_auto glo, csc_b , ptsc_b (:,:,jp_sal), ldxios = lrxios ) ! before ice shelf heat flux55 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 58 58 ELSE 59 59 pfwf_b(:,:) = pfwf(:,:) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ISF/isfutils.F90
r12271 r12738 12 12 !!---------------------------------------------------------------------- 13 13 14 USE iom , ONLY: iom_open, iom_get, iom_close, jpdom_ data! read input file14 USE iom , ONLY: iom_open, iom_get, iom_close, jpdom_global ! read input file 15 15 USE lib_fortran , ONLY: glob_sum, glob_min, glob_max ! compute global value 16 16 USE par_oce , ONLY: jpi,jpj,jpk, jpnij ! domain size … … 47 47 48 48 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) 50 50 CALL iom_close(inum) 51 51 -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LDF/ldfdyn.F90
r12489 r12738 267 267 IF(lwp) WRITE(numout,*) ' ==>>> eddy viscosity = F(i,j) read in eddy_viscosity.nc file' 268 268 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 ) 271 271 CALL iom_close( inum ) 272 272 DO jk = 2, jpkm1 … … 284 284 IF(lwp) WRITE(numout,*) ' ==>>> eddy viscosity = F(i,j,k) read in eddy_viscosity_3D.nc file' 285 285 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 ) 288 288 CALL iom_close( inum ) 289 289 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/LDF/ldftra.F90
r12489 r12738 316 316 IF(lwp) WRITE(numout,*) ' ==>>> eddy diffusivity = F(i,j) read in eddy_diffusivity.nc file' 317 317 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 ) 320 320 CALL iom_close( inum ) 321 321 DO jk = 2, jpkm1 … … 344 344 IF(lwp) WRITE(numout,*) ' ==>>> eddy diffusivity = F(i,j,k) read in eddy_diffusivity.nc file' 345 345 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 ) 348 348 CALL iom_close( inum ) 349 349 ! … … 571 571 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity coef. = F(i,j) read in eddy_diffusivity_2D.nc file' 572 572 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 ) 575 575 CALL iom_close( inum ) 576 576 DO jk = 2, jpkm1 … … 595 595 IF(lwp) WRITE(numout,*) ' ==>>> eddy induced velocity coef. = F(i,j,k) read in eddy_diffusivity_3D.nc file' 596 596 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 ) 599 599 CALL iom_close( inum ) 600 600 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/OBS/obs_read_altbias.F90
r12377 r12738 125 125 ! Get the Alt bias data 126 126 127 CALL iom_get( numaltbias, jpdom_ data, 'altbias', z_altbias(:,:), 1)127 CALL iom_get( numaltbias, jpdom_global, 'altbias', z_altbias(:,:) ) 128 128 129 129 ! Close the file -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/OBS/obs_readmdt.F90
r12377 r12738 90 90 CALL iom_open( mdtname, nummdt ) ! Open the file 91 91 ! ! 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(:,:) ) 93 93 CALL iom_close(nummdt) ! Close the file 94 94 -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/OBS/obs_sstbias.F90
r12377 r12738 139 139 cl_bias_files(jtype) ) 140 140 ! 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 ) 142 142 z_sstbias(:,:,jtype) = z_sstbias_2d(:,:) 143 143 ! Close the file -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/fldread.F90
r12489 r12738 368 368 ENDIF 369 369 ELSE 370 IF( SIZE(sdjf%fnow, 1) == jpi ) THEN ; ipdom = jpdom_ data370 IF( SIZE(sdjf%fnow, 1) == jpi ) THEN ; ipdom = jpdom_global 371 371 ELSE ; ipdom = jpdom_unknown 372 372 ENDIF … … 1207 1207 WRITE(aname,'(a3,i2.2)') 'src',jn 1208 1208 data_tmp(:,:) = 0 1209 CALL iom_get ( inum, jpdom_ data, aname, data_tmp(:,:) )1209 CALL iom_get ( inum, jpdom_global, aname, data_tmp(:,:) ) 1210 1210 data_src(:,:) = INT(data_tmp(:,:)) 1211 1211 ref_wgts(nxt_wgt)%data_jpj(:,:,jn) = 1 + (data_src(:,:)-1) / ref_wgts(nxt_wgt)%ddims(1) … … 1217 1217 WRITE(aname,'(a3,i2.2)') 'wgt',jn 1218 1218 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) ) 1220 1220 END DO 1221 1221 CALL iom_close (inum) … … 1281 1281 SELECT CASE( SIZE(zfieldo(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:),3) ) 1282 1282 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) 1284 1285 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) 1286 1288 END SELECT 1287 1289 CALL iom_close( inum ) … … 1445 1447 CASE(1) 1446 1448 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) 1448 1450 CASE DEFAULT 1449 1451 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) 1451 1453 END SELECT 1452 1454 CALL apply_seaoverland(lsmfile,ztmp_fly_dta(jpi1_lsm:jpi2_lsm,jpj1_lsm:jpj2_lsm,:), & … … 1468 1470 1469 1471 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) 1471 1473 ENDIF 1472 1474 … … 1512 1514 IF( jpi1 == 2 ) THEN 1513 1515 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) 1515 1517 ref_wgts(kw)%fly_dta(jpi1-1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 1516 1518 ENDIF 1517 1519 IF( jpi2 + jpimin - 1 == ref_wgts(kw)%ddims(1)+1 ) THEN 1518 1520 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) 1520 1522 ref_wgts(kw)%fly_dta(jpi2+1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 1521 1523 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcapr.F90
r12489 r12738 154 154 IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN 155 155 IF(lwp) WRITE(numout,*) 'sbc_apr: ssh_ibb read in the restart file' 156 CALL iom_get( numror, jpdom_auto glo, 'ssh_ibb', ssh_ibb, ldxios = lrxios ) ! before inv. barometer ssh156 CALL iom_get( numror, jpdom_auto, 'ssh_ibb', ssh_ibb, ldxios = lrxios ) ! before inv. barometer ssh 157 157 ! 158 158 ELSE !* no restart: set from nit000 values -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcmod.F90
r12489 r12738 517 517 & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 518 518 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields red in the restart file' 519 CALL iom_get( numror, jpdom_auto glo, 'utau_b', utau_b, ldxios = lrxios) ! before i-stress (U-point)520 CALL iom_get( numror, jpdom_auto glo, 'vtau_b', vtau_b, ldxios = lrxios) ! before j-stress (V-point)521 CALL iom_get( numror, jpdom_auto glo, '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) 522 522 ! The 3D heat content due to qsr forcing is treated in traqsr 523 ! CALL iom_get( numror, jpdom_auto glo, 'qsr_b' , qsr_b, ldxios = lrxios ) ! before solar heat flux (T-point)524 CALL iom_get( numror, jpdom_auto glo, '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) 525 525 ! To ensure restart capability with 3.3x/3.4 restart files !! to be removed in v3.6 526 526 IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 527 CALL iom_get( numror, jpdom_auto glo, '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) 528 528 ELSE 529 529 sfx_b (:,:) = sfx(:,:) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/SBC/sbcrnf.F90
r12586 r12738 159 159 & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 160 160 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields red in the restart file', lrxios 161 CALL iom_get( numror, jpdom_auto glo, 'rnf_b', rnf_b, ldxios = lrxios ) ! before runoff162 CALL iom_get( numror, jpdom_auto glo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem), ldxios = lrxios ) ! before heat content of runoff163 CALL iom_get( numror, jpdom_auto glo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal), ldxios = lrxios ) ! before salinity content of runoff161 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 164 164 ELSE !* no restart: set from nit000 values 165 165 IF(lwp) WRITE(numout,*) ' nit000-1 runoff forcing fields set to nit000' … … 355 355 IF( sn_dep_rnf%cltype == 'monthly' ) WRITE(rn_dep_file, '(a,"m",i2)' ) TRIM( rn_dep_file ), nmonth ! add month 356 356 ENDIF 357 CALL iom_open ( rn_dep_file, inum ) ! open file358 CALL iom_get ( inum, jpdom_ data, sn_dep_rnf%clvar, h_rnf ) ! read the river mouth array359 CALL iom_close( inum ) ! close file357 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 360 360 ! 361 361 nk_rnf(:,:) = 0 ! set the number of level over which river runoffs are applied … … 390 390 CALL iom_open( TRIM( sn_rnf%clname ), inum ) ! open runoff file 391 391 nbrec = iom_getszuld( inum ) 392 zrnfcl(:,:,1) = 0._wp ! init the max to 0. in 1392 zrnfcl(:,:,1) = 0._wp ! init the max to 0. in 1 393 393 DO jm = 1, nbrec 394 CALL iom_get( inum, jpdom_ data, TRIM( sn_rnf%clvar ), zrnfcl(:,:,2), jm ) ! read the value in 2395 zrnfcl(:,:,1) = MAXVAL( zrnfcl(:,:,:), DIM=3 ) ! store the maximum value in time in 1394 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 396 396 END DO 397 397 CALL iom_close( inum ) … … 522 522 ! 523 523 ! horizontal mask (read in NetCDF file) 524 CALL iom_open ( cl_rnfile, inum ) ! open file525 CALL iom_get ( inum, jpdom_ data, sn_cnf%clvar, rnfmsk ) ! read the river mouth array526 CALL iom_close( inum ) ! close file524 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 527 527 ! 528 528 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 207 207 IF( ln_rstart .AND. iom_varid( numror, 'nn_fsbc', ldstop = .FALSE. ) > 0 ) THEN 208 208 l_ssm_mean = .TRUE. 209 CALL iom_get( numror , 'nn_fsbc', zf_sbc, ldxios = lrxios )! sbc frequency of previous run210 CALL iom_get( numror, jpdom_auto glo, 'ssu_m' , ssu_m, ldxios = lrxios) ! sea surface mean velocity (U-point)211 CALL iom_get( numror, jpdom_auto glo, 'ssv_m' , ssv_m, ldxios = lrxios) ! " " velocity (V-point)212 CALL iom_get( numror, jpdom_auto glo, 'sst_m' , sst_m, ldxios = lrxios) ! " " temperature (T-point)213 CALL iom_get( numror, jpdom_auto glo, 'sss_m' , sss_m, ldxios = lrxios) ! " " salinity (T-point)214 CALL iom_get( numror, jpdom_auto glo, 'ssh_m' , ssh_m, ldxios = lrxios) ! " " height (T-point)215 CALL iom_get( numror, jpdom_auto glo, '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) 216 216 ! fraction of solar net radiation absorbed in 1st T level 217 217 IF( iom_varid( numror, 'frq_m', ldstop = .FALSE. ) > 0 ) THEN 218 CALL iom_get( numror, jpdom_auto glo, 'frq_m' , frq_m, ldxios = lrxios )218 CALL iom_get( numror, jpdom_auto, 'frq_m' , frq_m, ldxios = lrxios ) 219 219 ELSE 220 220 frq_m(:,:) = 1._wp ! default definition -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/STO/stopar.F90
r12377 r12738 707 707 DO jsto = 1 , jpsto2d 708 708 WRITE(clsto2d(7:9),'(i3.3)') jsto 709 CALL iom_get( numstor, jpdom_auto glo, clsto2d , sto2d(:,:,jsto) )709 CALL iom_get( numstor, jpdom_auto, clsto2d, sto2d(:,:, jsto) ) 710 710 END DO 711 711 ! 3D stochastic parameters 712 712 DO jsto = 1 , jpsto3d 713 713 WRITE(clsto3d(7:9),'(i3.3)') jsto 714 CALL iom_get( numstor, jpdom_auto glo, clsto3d, sto3d(:,:,:,jsto) )714 CALL iom_get( numstor, jpdom_auto, clsto3d, sto3d(:,:,:,jsto) ) 715 715 END DO 716 716 -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TDE/tide_mod.F90
r12489 r12738 400 400 ! 401 401 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(:,:) ) 404 404 ! 405 405 DO ji=1,jpi -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/tradmp.F90
r12377 r12738 208 208 ! ! Read in mask from file 209 209 CALL iom_open ( cn_resto, imask) 210 CALL iom_get ( imask, jpdom_auto glo, 'resto', resto )210 CALL iom_get ( imask, jpdom_auto, 'resto', resto ) 211 211 CALL iom_close( imask ) 212 212 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/traqsr.F90
r12489 r12738 138 138 IF(lwp) WRITE(numout,*) ' nit000-1 qsr tracer content forcing field read in the restart file' 139 139 z1_2 = 0.5_wp 140 CALL iom_get( numror, jpdom_auto glo, 'qsr_hc_b', qsr_hc_b, ldxios = lrxios ) ! before heat content trend due to Qsr flux140 CALL iom_get( numror, jpdom_auto, 'qsr_hc_b', qsr_hc_b, ldxios = lrxios ) ! before heat content trend due to Qsr flux 141 141 ELSE ! No restart or restart not found: Euler forward time stepping 142 142 z1_2 = 1._wp … … 402 402 ! 1st ocean level attenuation coefficient (used in sbcssm) 403 403 IF( iom_varid( numror, 'fraqsr_1lev', ldstop = .FALSE. ) > 0 ) THEN 404 CALL iom_get( numror, jpdom_auto glo, 'fraqsr_1lev' , fraqsr_1lev, ldxios = lrxios )404 CALL iom_get( numror, jpdom_auto, 'fraqsr_1lev' , fraqsr_1lev, ldxios = lrxios ) 405 405 ELSE 406 406 fraqsr_1lev(:,:) = 1._wp ! default : no penetration -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRA/trasbc.F90
r12489 r12738 111 111 zfact = 0.5_wp 112 112 sbc_tsc(:,:,:) = 0._wp 113 CALL iom_get( numror, jpdom_auto glo, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem), ldxios = lrxios ) ! before heat content sbc trend114 CALL iom_get( numror, jpdom_auto glo, 'sbc_sc_b', sbc_tsc_b(:,:,jp_sal), ldxios = lrxios ) ! before salt content sbc trend113 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 115 115 ELSE ! No restart or restart not found: Euler forward time stepping 116 116 zfact = 1._wp -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/TRD/trdmxl_rst.F90
r11536 r12738 149 149 IF( ln_trdmxl_instant ) THEN 150 150 !-- Temperature 151 CALL iom_get( inum, jpdom_auto glo, 'tmlbb' , tmlbb )152 CALL iom_get( inum, jpdom_auto glo, 'tmlbn' , tmlbn )153 CALL iom_get( inum, jpdom_auto glo, '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 ) 154 154 ! 155 155 !-- Salinity 156 CALL iom_get( inum, jpdom_auto glo, 'smlbb' , smlbb )157 CALL iom_get( inum, jpdom_auto glo, 'smlbn' , smlbn )158 CALL iom_get( inum, jpdom_auto glo, '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 ) 159 159 ELSE 160 CALL iom_get( inum, jpdom_auto glo, 'hmxlbn' , hmxlbn ) ! needed for hmxl_sum160 CALL iom_get( inum, jpdom_auto, 'hmxlbn' , hmxlbn ) ! needed for hmxl_sum 161 161 ! 162 162 !-- Temperature 163 CALL iom_get( inum, jpdom_auto glo, 'tmlbn' , tmlbn ) ! needed for tml_sum164 CALL iom_get( inum, jpdom_auto glo, '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 ) 165 165 DO jk = 1, jpltrd 166 166 IF( jk < 10 ) THEN ; WRITE(charout,FMT="('tmltrd_csum_ub_', I1)") jk 167 167 ELSE ; WRITE(charout,FMT="('tmltrd_csum_ub_', I2)") jk 168 168 ENDIF 169 CALL iom_get( inum, jpdom_auto glo, charout, tmltrd_csum_ub(:,:,jk) )169 CALL iom_get( inum, jpdom_auto, charout, tmltrd_csum_ub(:,:,jk) ) 170 170 END DO 171 CALL iom_get( inum, jpdom_auto glo, 'tmltrd_atf_sumb' , tmltrd_atf_sumb)171 CALL iom_get( inum, jpdom_auto, 'tmltrd_atf_sumb' , tmltrd_atf_sumb) 172 172 ! 173 173 !-- Salinity 174 CALL iom_get( inum, jpdom_auto glo, 'smlbn' , smlbn ) ! needed for sml_sum175 CALL iom_get( inum, jpdom_auto glo, '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 ) 176 176 DO jk = 1, jpltrd 177 177 IF( jk < 10 ) THEN ; WRITE(charout,FMT="('smltrd_csum_ub_', I1)") jk 178 178 ELSE ; WRITE(charout,FMT="('smltrd_csum_ub_', I2)") jk 179 179 ENDIF 180 CALL iom_get( inum, jpdom_auto glo, charout, smltrd_csum_ub(:,:,jk) )180 CALL iom_get( inum, jpdom_auto, charout, smltrd_csum_ub(:,:,jk) ) 181 181 END DO 182 CALL iom_get( inum, jpdom_auto glo, 'smltrd_atf_sumb' , smltrd_atf_sumb)182 CALL iom_get( inum, jpdom_auto, 'smltrd_atf_sumb' , smltrd_atf_sumb) 183 183 ! 184 184 CALL iom_close( inum ) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfdrg.F90
r12586 r12738 362 362 ! cl_varname is a coefficient in [0,1] giving where to apply the regional boost 363 363 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 ) 365 365 CALL iom_close( inum) 366 366 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 1065 1065 ! 1066 1066 IF( MIN( id1, id2, id3, id4 ) > 0 ) THEN ! all required arrays exist 1067 CALL iom_get( numror, jpdom_auto glo, 'en' , en , ldxios = lrxios )1068 CALL iom_get( numror, jpdom_auto glo, 'avt_k' , avt_k , ldxios = lrxios )1069 CALL iom_get( numror, jpdom_auto glo, 'avm_k' , avm_k , ldxios = lrxios )1070 CALL iom_get( numror, jpdom_auto glo, '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 ) 1071 1071 ELSE 1072 1072 IF(lwp) WRITE(numout,*) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfosm.F90
r12489 r12738 1461 1461 id1 = iom_varid( numror, 'wn' , ldstop = .FALSE. ) 1462 1462 IF( id1 > 0 ) THEN ! 'wn' exists; read 1463 CALL iom_get( numror, jpdom_auto glo, 'wn', ww, ldxios = lrxios )1463 CALL iom_get( numror, jpdom_auto, 'wn', ww, ldxios = lrxios ) 1464 1464 WRITE(numout,*) ' ===>>>> : ww read from restart file' 1465 1465 ELSE … … 1470 1470 id2 = iom_varid( numror, 'hbli' , ldstop = .FALSE. ) 1471 1471 IF( id1 > 0 .AND. id2 > 0) THEN ! 'hbl' exists; read and return 1472 CALL iom_get( numror, jpdom_auto glo, 'hbl' , hbl , ldxios = lrxios )1473 CALL iom_get( numror, jpdom_auto glo, '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 ) 1474 1474 WRITE(numout,*) ' ===>>>> : hbl & hbli read from restart file' 1475 1475 RETURN -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdfric.F90
r12489 r12738 214 214 ! 215 215 IF( MIN( id1, id2 ) > 0 ) THEN ! restart exists => read it 216 CALL iom_get( numror, jpdom_auto glo, 'avt_k', avt_k, ldxios = lrxios )217 CALL iom_get( numror, jpdom_auto glo, '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 ) 218 218 ENDIF 219 219 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OCE/ZDF/zdftke.F90
r12489 r12738 674 674 ! 675 675 IF( MIN( id1, id2, id3, id4 ) > 0 ) THEN ! fields exist 676 CALL iom_get( numror, jpdom_auto glo, 'en' , en , ldxios = lrxios )677 CALL iom_get( numror, jpdom_auto glo, 'avt_k', avt_k, ldxios = lrxios )678 CALL iom_get( numror, jpdom_auto glo, 'avm_k', avm_k, ldxios = lrxios )679 CALL iom_get( numror, jpdom_auto glo, '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 ) 680 680 ELSE ! start TKE from rest 681 681 IF(lwp) WRITE(numout,*) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/OFF/dtadyn.F90
r12489 r12738 319 319 iom_varid( numrtr, 'sshn', ldstop = .FALSE. ) > 0 ) THEN 320 320 IF(lwp) WRITE(numout,*) ' ssh(:,:,Kmm) forcing fields read in the restart file for initialisation' 321 CALL iom_get( numrtr, jpdom_auto glo, 'sshn', ssh(:,:,Kmm) )322 CALL iom_get( numrtr, jpdom_auto glo, 'sshb', ssh(:,:,Kbb) )321 CALL iom_get( numrtr, jpdom_auto, 'sshn', ssh(:,:,Kmm) ) 322 CALL iom_get( numrtr, jpdom_auto, 'sshb', ssh(:,:,Kbb) ) 323 323 ELSE 324 324 IF(lwp) WRITE(numout,*) ' ssh(:,:,Kmm) forcing fields read in the restart file for initialisation' 325 325 CALL iom_open( 'restart', inum ) 326 CALL iom_get( inum, jpdom_auto glo, 'sshn', ssh(:,:,Kmm) )327 CALL iom_get( inum, jpdom_auto glo, 'sshb', ssh(:,:,Kbb) )326 CALL iom_get( inum, jpdom_auto, 'sshn', ssh(:,:,Kmm) ) 327 CALL iom_get( inum, jpdom_auto, 'sshb', ssh(:,:,Kbb) ) 328 328 CALL iom_close( inum ) ! close file 329 329 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/C14/trcini_c14.F90
r12377 r12738 69 69 ! 70 70 CALL iom_get( numrtr, 'co2sbc', co2sbc ) 71 CALL iom_get( numrtr, jpdom_auto glo, 'c14sbc', c14sbc )72 CALL iom_get( numrtr, jpdom_auto glo, 'exch_co2', exch_co2 )73 CALL iom_get( numrtr, jpdom_auto glo, 'exch_c14', exch_c14 )74 CALL iom_get( numrtr, jpdom_auto glo, '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 ) 75 75 ! 76 76 END IF … … 85 85 ELSE 86 86 ! 87 CALL iom_get( numrtr, jpdom_auto glo, 'qint_c14', qint_c14 )87 CALL iom_get( numrtr, jpdom_auto, 'qint_c14', qint_c14 ) 88 88 ! 89 89 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/CFC/trcsms_cfc.F90
r12489 r12738 297 297 DO jn = jp_cfc0, jp_cfc1 298 298 jl = jl + 1 299 CALL iom_get( numrtr, jpdom_auto glo, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jl) )299 CALL iom_get( numrtr, jpdom_auto, 'qint_'//ctrcnm(jn), qint_cfc(:,:,jl) ) 300 300 END DO 301 301 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/P2Z/p2zexp.F90
r12489 r12738 213 213 ! 214 214 IF( ln_rsttr ) THEN 215 CALL iom_get( numrtr, jpdom_auto glo, 'SEDB'//ctrcnm(jpdet), sedpocb(:,:) )216 CALL iom_get( numrtr, jpdom_auto glo, '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(:,:) ) 217 217 ELSE 218 218 sedpocb(:,:) = 0._wp -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/P4Z/p4zbc.F90
r12377 r12738 287 287 CALL iom_open ( TRIM( sn_ironsed%clname ), numiron ) 288 288 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 ) 290 290 CALL iom_close( numiron ) 291 291 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/P4Z/p4zsms.F90
r12489 r12738 340 340 ! 341 341 IF( iom_varid( numrtr, 'PH', ldstop = .FALSE. ) > 0 ) THEN 342 CALL iom_get( numrtr, jpdom_auto glo, 'PH' , hi(:,:,:) )342 CALL iom_get( numrtr, jpdom_auto, 'PH' , hi(:,:,:) ) 343 343 ELSE 344 344 CALL p4z_che( Kbb, Kmm ) ! initialize the chemical constants 345 345 CALL ahini_for_at( hi, Kbb ) 346 346 ENDIF 347 CALL iom_get( numrtr, jpdom_auto glo, 'Silicalim', xksi(:,:) )347 CALL iom_get( numrtr, jpdom_auto, 'Silicalim', xksi(:,:) ) 348 348 IF( iom_varid( numrtr, 'Silicamax', ldstop = .FALSE. ) > 0 ) THEN 349 CALL iom_get( numrtr, jpdom_auto glo, 'Silicamax' , xksimax(:,:) )349 CALL iom_get( numrtr, jpdom_auto, 'Silicamax' , xksimax(:,:) ) 350 350 ELSE 351 351 xksimax(:,:) = xksi(:,:) … … 360 360 IF( ln_p5z ) THEN 361 361 IF( iom_varid( numrtr, 'sized', ldstop = .FALSE. ) > 0 ) THEN 362 CALL iom_get( numrtr, jpdom_auto glo, 'sizep' , sizep(:,:,:) )363 CALL iom_get( numrtr, jpdom_auto glo, 'sizen' , sizen(:,:,:) )364 CALL iom_get( numrtr, jpdom_auto glo, '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(:,:,:) ) 365 365 ELSE 366 366 sizep(:,:,:) = 1. -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/PISCES/SED/sedrst.F90
r12489 r12738 123 123 cltra = TRIM(sedtrcd(jn)) 124 124 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 125 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta(:,:,:,jn) )125 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta(:,:,:,jn) ) 126 126 ELSE 127 127 zdta(:,:,:,jn) = 0.0 … … 142 142 cltra = TRIM(seddia3d(jn)) 143 143 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 144 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta1(:,:,:,jn) )144 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta1(:,:,:,jn) ) 145 145 ELSE 146 146 zdta1(:,:,:,jn) = 0.0 … … 169 169 cltra = "dbioturb" 170 170 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 171 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta2(:,:,:) )171 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 172 172 ELSE 173 173 zdta2(:,:,:) = 0.0 … … 179 179 cltra = "irrig" 180 180 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 181 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta2(:,:,:) )181 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 182 182 ELSE 183 183 zdta2(:,:,:) = 0.0 … … 189 189 cltra = "sedligand" 190 190 IF( iom_varid( numrsr, TRIM(cltra) , ldstop = .FALSE. ) > 0 ) THEN 191 CALL iom_get( numrsr, jpdom_auto glo, TRIM(cltra), zdta2(:,:,:) )191 CALL iom_get( numrsr, jpdom_auto, TRIM(cltra), zdta2(:,:,:) ) 192 192 ELSE 193 193 zdta2(:,:,:) = 0.0 -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trcdmp.F90
r12377 r12738 204 204 !Read in mask from file 205 205 CALL iom_open ( cn_resto_tr, imask) 206 CALL iom_get ( imask, jpdom_auto glo, 'resto', restotr)206 CALL iom_get ( imask, jpdom_auto, 'resto', restotr) 207 207 CALL iom_close( imask ) 208 208 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/TRP/trcsbc.F90
r12489 r12738 87 87 zfact = 0.5_wp 88 88 DO jn = 1, jptra 89 CALL iom_get( numrtr, jpdom_auto glo, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc_b(:,:,jn) ) ! before tracer content sbc89 CALL iom_get( numrtr, jpdom_auto, 'sbc_'//TRIM(ctrcnm(jn))//'_b', sbc_trc_b(:,:,jn) ) ! before tracer content sbc 90 90 END DO 91 91 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 144 144 145 145 DO jn = 1, jptra 146 CALL iom_get( inum, jpdom_auto glo, 'tmlbb_trc_' //ctrcnm(jn), tmlbb_trc (:,:,jn) )147 CALL iom_get( inum, jpdom_auto glo, 'tmlbn_trc_' //ctrcnm(jn), tmlbn_trc (:,:,jn) )148 CALL iom_get( inum, jpdom_auto glo, 'tmlatfb_trc_'//ctrcnm(jn), tmlatfb_trc(:,:,jn) )149 CALL iom_get( inum, jpdom_auto glo, '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) ) 150 150 END DO 151 151 152 152 ELSE 153 CALL iom_get( inum, jpdom_auto glo, 'rmldbn_trc', rmldbn_trc ) ! needed for rmld_sum153 CALL iom_get( inum, jpdom_auto, 'rmldbn_trc', rmldbn_trc ) ! needed for rmld_sum 154 154 155 155 ! ! =========== 156 156 DO jn = 1, jptra ! tracer loop 157 157 ! ! =========== 158 CALL iom_get( inum, jpdom_auto glo, 'tmlatfb_trc_' //ctrcnm(jn), tmlatfb_trc(:,:,jn) )159 CALL iom_get( inum, jpdom_auto glo, 'tmlbb_trc_' //ctrcnm(jn), tmlbb_trc (:,:,jn) )160 CALL iom_get( inum, jpdom_auto glo, 'tmlradb_trc_' //ctrcnm(jn), tmlradb_trc(:,:,jn) )161 162 CALL iom_get( inum, jpdom_auto glo, 'tmlbn_trc_' //ctrcnm(jn), tmlbn_trc (:,:,jn) ) ! needed for tml_sum163 CALL iom_get( inum, jpdom_auto glo, '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) ) 164 164 165 165 DO jk = 1, jpltrd_trc … … 169 169 WRITE(charout,FMT="('tmltrd_csum_ub_trc_', A3, '_', I2)") ctrcnm(jn), jk 170 170 ENDIF 171 CALL iom_get( inum, jpdom_auto glo, charout, tmltrd_csum_ub_trc(:,:,jk,jn) )171 CALL iom_get( inum, jpdom_auto, charout, tmltrd_csum_ub_trc(:,:,jk,jn) ) 172 172 END DO 173 173 174 CALL iom_get( inum, jpdom_auto glo, 'tmltrd_atf_sumb_trc_'//ctrcnm(jn) , &174 CALL iom_get( inum, jpdom_auto, 'tmltrd_atf_sumb_trc_'//ctrcnm(jn) , & 175 175 & tmltrd_atf_sumb_trc(:,:,jn) ) 176 176 177 CALL iom_get( inum, jpdom_auto glo, 'tmltrd_rad_sumb_trc_'//ctrcnm(jn) , &177 CALL iom_get( inum, jpdom_auto, 'tmltrd_rad_sumb_trc_'//ctrcnm(jn) , & 178 178 & tmltrd_rad_sumb_trc(:,:,jn) ) 179 179 ! ! =========== -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/trcrst.F90
r12489 r12738 113 113 ! READ prognostic variables and computes diagnostic variable 114 114 DO jn = 1, jptra 115 CALL iom_get( numrtr, jpdom_auto glo, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm) )116 END DO 117 118 DO jn = 1, jptra 119 CALL iom_get( numrtr, jpdom_auto glo, '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) ) 120 120 END DO 121 121 ! -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/src/TOP/trcstp.F90
r12489 r12738 198 198 rsecfst = INT( zkt ) * rn_Dt 199 199 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_auto glo, 'qsr_mean', qsr_mean ) ! A mean of qsr200 CALL iom_get( numrtr, jpdom_auto, 'qsr_mean', qsr_mean ) ! A mean of qsr 201 201 CALL iom_get( numrtr, 'nrdcy', zrec ) ! Number of record per days 202 202 IF( INT( zrec ) == nb_rec_per_day ) THEN … … 204 204 IF( jn <= 9 ) THEN 205 205 WRITE(cl1,'(i1)') jn 206 CALL iom_get( numrtr, jpdom_auto glo, 'qsr_arr_'//cl1, qsr_arr(:,:,jn) ) ! A mean of qsr206 CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl1, qsr_arr(:,:,jn) ) ! A mean of qsr 207 207 ELSE 208 208 WRITE(cl2,'(i2.2)') jn 209 CALL iom_get( numrtr, jpdom_auto glo, 'qsr_arr_'//cl2, qsr_arr(:,:,jn) ) ! A mean of qsr209 CALL iom_get( numrtr, jpdom_auto, 'qsr_arr_'//cl2, qsr_arr(:,:,jn) ) ! A mean of qsr 210 210 ENDIF 211 211 END DO -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/CANAL/MY_SRC/domvvl.F90
r12489 r12738 803 803 IF( ln_rstart ) THEN !* Read the restart file 804 804 CALL rst_read_open ! open the restart file if necessary 805 CALL iom_get( numror, jpdom_auto glo, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios )805 CALL iom_get( numror, jpdom_auto, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios ) 806 806 ! 807 807 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 814 814 ! ! --------- ! 815 815 IF( MIN( id1, id2 ) > 0 ) THEN ! all required arrays exist 816 CALL iom_get( numror, jpdom_auto glo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )817 CALL iom_get( numror, jpdom_auto glo, '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 ) 818 818 ! needed to restart if land processor not computed 819 819 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' … … 829 829 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 830 830 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 831 CALL iom_get( numror, jpdom_auto glo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )831 CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 832 832 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 833 833 l_1st_euler = .true. … … 836 836 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 837 837 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 838 CALL iom_get( numror, jpdom_auto glo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios )838 CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 839 839 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 840 840 l_1st_euler = .true. … … 861 861 ! ! ----------------------- ! 862 862 IF( MIN( id3, id4 ) > 0 ) THEN ! all required arrays exist 863 CALL iom_get( numror, jpdom_auto glo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios )864 CALL iom_get( numror, jpdom_auto glo, '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 ) 865 865 ELSE ! one at least array is missing 866 866 tilde_e3t_b(:,:,:) = 0.0_wp … … 871 871 ! ! ------------ ! 872 872 IF( id5 > 0 ) THEN ! required array exists 873 CALL iom_get( numror, jpdom_auto glo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios )873 CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 874 874 ELSE ! array is missing 875 875 hdiv_lf(:,:,:) = 0.0_wp -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/CANAL/MY_SRC/sbcmod.F90
r12489 r12738 499 499 & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN 500 500 IF(lwp) WRITE(numout,*) ' nit000-1 surface forcing fields red in the restart file' 501 CALL iom_get( numror, jpdom_auto glo, 'utau_b', utau_b, ldxios = lrxios) ! before i-stress (U-point)502 CALL iom_get( numror, jpdom_auto glo, 'vtau_b', vtau_b, ldxios = lrxios) ! before j-stress (V-point)503 CALL iom_get( numror, jpdom_auto glo, '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) 504 504 ! The 3D heat content due to qsr forcing is treated in traqsr 505 ! CALL iom_get( numror, jpdom_auto glo, 'qsr_b' , qsr_b, ldxios = lrxios ) ! before solar heat flux (T-point)506 CALL iom_get( numror, jpdom_auto glo, '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) 507 507 ! To ensure restart capability with 3.3x/3.4 restart files !! to be removed in v3.6 508 508 IF( iom_varid( numror, 'sfx_b', ldstop = .FALSE. ) > 0 ) THEN 509 CALL iom_get( numror, jpdom_auto glo, '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) 510 510 ELSE 511 511 sfx_b (:,:) = sfx(:,:) -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/ISOMIP+/MY_SRC/tradmp.F90
r12353 r12738 220 220 ! ! Read in mask from file 221 221 CALL iom_open ( cn_resto, imask) 222 CALL iom_get ( imask, jpdom_auto glo, 'resto', resto )222 CALL iom_get ( imask, jpdom_auto, 'resto', resto ) 223 223 CALL iom_close( imask ) 224 224 ENDIF -
NEMO/branches/2020/dev_r12558_HPC-08_epico_Extra_Halo/tests/VORTEX/MY_SRC/domvvl.F90
r12489 r12738 825 825 IF( ln_rstart ) THEN !* Read the restart file 826 826 CALL rst_read_open ! open the restart file if necessary 827 CALL iom_get( numror, jpdom_auto glo, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios )827 CALL iom_get( numror, jpdom_auto, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios ) 828 828 ! 829 829 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 836 836 ! ! --------- ! 837 837 IF( MIN( id1, id2 ) > 0 ) THEN ! all required arrays exist 838 CALL iom_get( numror, jpdom_auto glo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )839 CALL iom_get( numror, jpdom_auto glo, '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 ) 840 840 ! needed to restart if land processor not computed 841 841 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t(:,:,:,Kbb) and e3t(:,:,:,Kmm) found in restart files' … … 851 851 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 852 852 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 853 CALL iom_get( numror, jpdom_auto glo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )853 CALL iom_get( numror, jpdom_auto, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 854 854 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 855 855 l_1st_euler = .true. … … 858 858 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 859 859 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 860 CALL iom_get( numror, jpdom_auto glo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios )860 CALL iom_get( numror, jpdom_auto, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 861 861 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 862 862 l_1st_euler = .true. … … 883 883 ! ! ----------------------- ! 884 884 IF( MIN( id3, id4 ) > 0 ) THEN ! all required arrays exist 885 CALL iom_get( numror, jpdom_auto glo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios )886 CALL iom_get( numror, jpdom_auto glo, '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 ) 887 887 ELSE ! one at least array is missing 888 888 tilde_e3t_b(:,:,:) = 0.0_wp … … 893 893 ! ! ------------ ! 894 894 IF( id5 > 0 ) THEN ! required array exists 895 CALL iom_get( numror, jpdom_auto glo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios )895 CALL iom_get( numror, jpdom_auto, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 896 896 ELSE ! array is missing 897 897 hdiv_lf(:,:,:) = 0.0_wp
Note: See TracChangeset
for help on using the changeset viewer.