- Timestamp:
- 2018-02-28T17:23:20+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r9190 r9367 237 237 ENDIF 238 238 ENDIF 239 ! 240 IF(lwxios) THEN 241 ! define variables in restart file when writing with XIOS 242 CALL iom_set_rstw_var_active('e3t_b') 243 CALL iom_set_rstw_var_active('e3t_n') 244 ! ! ----------------------- ! 245 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases ! 246 ! ! ----------------------- ! 247 CALL iom_set_rstw_var_active('tilde_e3t_b') 248 CALL iom_set_rstw_var_active('tilde_e3t_n') 249 END IF 250 ! ! -------------! 251 IF( ln_vvl_ztilde ) THEN ! z_tilde case ! 252 ! ! ------------ ! 253 CALL iom_set_rstw_var_active('hdiv_lf') 254 ENDIF 255 ! 256 ENDIF 257 258 IF( ln_timing ) CALL timing_stop('dom_vvl_init') 239 259 ! 240 260 END SUBROUTINE dom_vvl_init … … 781 801 IF( ln_rstart ) THEN !* Read the restart file 782 802 CALL rst_read_open ! open the restart file if necessary 783 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn )803 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = lrxios ) 784 804 ! 785 805 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 792 812 ! ! --------- ! 793 813 IF( MIN( id1, id2 ) > 0 ) THEN ! all required arrays exist 794 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:) )795 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:) )814 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 815 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 796 816 ! needed to restart if land processor not computed 797 817 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t_b and e3t_n found in restart files' … … 807 827 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 808 828 IF(lwp) write(numout,*) 'neuler is forced to 0' 809 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:) )829 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 810 830 e3t_n(:,:,:) = e3t_b(:,:,:) 811 831 neuler = 0 … … 814 834 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 815 835 IF(lwp) write(numout,*) 'neuler is forced to 0' 816 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:) )836 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 817 837 e3t_b(:,:,:) = e3t_n(:,:,:) 818 838 neuler = 0 … … 839 859 ! ! ----------------------- ! 840 860 IF( MIN( id3, id4 ) > 0 ) THEN ! all required arrays exist 841 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:) )842 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:) )861 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 862 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 843 863 ELSE ! one at least array is missing 844 864 tilde_e3t_b(:,:,:) = 0.0_wp … … 849 869 ! ! ------------ ! 850 870 IF( id5 > 0 ) THEN ! required array exists 851 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:) )871 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 852 872 ELSE ! array is missing 853 873 hdiv_lf(:,:,:) = 0.0_wp … … 928 948 ! ! =================== 929 949 IF(lwp) WRITE(numout,*) '---- dom_vvl_rst ----' 950 IF( lwxios ) CALL iom_swap( cwxios_context ) 930 951 ! ! --------- ! 931 952 ! ! all cases ! 932 953 ! ! --------- ! 933 CALL iom_rstput( kt, nitrst, numrow, 'e3t_b', e3t_b(:,:,:) )934 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:) )954 CALL iom_rstput( kt, nitrst, numrow, 'e3t_b', e3t_b(:,:,:), ldxios = lwxios ) 955 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:), ldxios = lwxios ) 935 956 ! ! ----------------------- ! 936 957 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases ! 937 958 ! ! ----------------------- ! 938 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_b', tilde_e3t_b(:,:,:) 939 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:) 959 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lwxios) 960 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lwxios) 940 961 END IF 941 962 ! ! -------------! 942 963 IF( ln_vvl_ztilde ) THEN ! z_tilde case ! 943 964 ! ! ------------ ! 944 CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:) ) 945 ENDIF 946 ! 965 CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lwxios) 966 ENDIF 967 ! 968 IF( lwxios ) CALL iom_swap( cxios_context ) 947 969 ENDIF 948 970 !
Note: See TracChangeset
for help on using the changeset viewer.