- Timestamp:
- 2017-12-12T11:41:19+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_METO_2017/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r8985 r8987 242 242 ENDIF 243 243 ! 244 IF(lwxios) THEN 245 ! define variables in restart file when writing with XIOS 246 CALL iom_set_rstw_var_active('e3t_b') 247 CALL iom_set_rstw_var_active('e3t_n') 248 ! ! ----------------------- ! 249 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases ! 250 ! ! ----------------------- ! 251 CALL iom_set_rstw_var_active('tilde_e3t_b') 252 CALL iom_set_rstw_var_active('tilde_e3t_n') 253 END IF 254 ! ! -------------! 255 IF( ln_vvl_ztilde ) THEN ! z_tilde case ! 256 ! ! ------------ ! 257 CALL iom_set_rstw_var_active('hdiv_lf') 258 ENDIF 259 ! 260 ENDIF 261 244 262 IF( nn_timing == 1 ) CALL timing_stop('dom_vvl_init') 245 263 ! … … 799 817 IF( ln_rstart ) THEN !* Read the restart file 800 818 CALL rst_read_open ! open the restart file if necessary 801 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn )819 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = lrxios ) 802 820 ! 803 821 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 810 828 ! ! --------- ! 811 829 IF( MIN( id1, id2 ) > 0 ) THEN ! all required arrays exist 812 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:) )813 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:) )830 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 831 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 814 832 ! needed to restart if land processor not computed 815 833 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t_b and e3t_n found in restart files' … … 825 843 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 826 844 IF(lwp) write(numout,*) 'neuler is forced to 0' 827 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:) )845 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 828 846 e3t_n(:,:,:) = e3t_b(:,:,:) 829 847 neuler = 0 … … 832 850 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 833 851 IF(lwp) write(numout,*) 'neuler is forced to 0' 834 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:) )852 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 835 853 e3t_b(:,:,:) = e3t_n(:,:,:) 836 854 neuler = 0 … … 857 875 ! ! ----------------------- ! 858 876 IF( MIN( id3, id4 ) > 0 ) THEN ! all required arrays exist 859 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:) )860 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:) )877 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 878 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 861 879 ELSE ! one at least array is missing 862 880 tilde_e3t_b(:,:,:) = 0.0_wp … … 867 885 ! ! ------------ ! 868 886 IF( id5 > 0 ) THEN ! required array exists 869 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:) )887 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 870 888 ELSE ! array is missing 871 889 hdiv_lf(:,:,:) = 0.0_wp … … 938 956 ! ! =================== 939 957 IF(lwp) WRITE(numout,*) '---- dom_vvl_rst ----' 958 IF( lwxios ) CALL iom_swap( cwxios_context ) 940 959 ! ! --------- ! 941 960 ! ! all cases ! 942 961 ! ! --------- ! 943 CALL iom_rstput( kt, nitrst, numrow, 'e3t_b', e3t_b(:,:,:) )944 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:) )962 CALL iom_rstput( kt, nitrst, numrow, 'e3t_b', e3t_b(:,:,:), ldxios = lwxios ) 963 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:), ldxios = lwxios ) 945 964 ! ! ----------------------- ! 946 965 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases ! 947 966 ! ! ----------------------- ! 948 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_b', tilde_e3t_b(:,:,:) 949 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:) 967 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lwxios) 968 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lwxios) 950 969 END IF 951 970 ! ! -------------! 952 971 IF( ln_vvl_ztilde ) THEN ! z_tilde case ! 953 972 ! ! ------------ ! 954 CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:) ) 955 ENDIF 956 ! 973 CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lwxios) 974 ENDIF 975 ! 976 IF( lwxios ) CALL iom_swap( cxios_context ) 957 977 ENDIF 958 978 !
Note: See TracChangeset
for help on using the changeset viewer.