Changeset 9729
- Timestamp:
- 2018-06-01T20:08:51+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/tests/VORTEX/MY_SRC/domvvl.F90
r9255 r9729 64 64 # include "vectopt_loop_substitute.h90" 65 65 !!---------------------------------------------------------------------- 66 !! NEMO/O PA 3.7 , NEMO-Consortium (2015)67 !! $Id: domvvl.F90 9 190 2018-01-06 14:18:23Z gm$68 !! Software governed by the CeCILL licence ( NEMOGCM/NEMO_CeCILL.txt)66 !! NEMO/OCE 4.0 , NEMO Consortium (2018) 67 !! $Id: domvvl.F90 9598 2018-05-15 22:47:16Z nicolasmartin $ 68 !! Software governed by the CeCILL licence (./LICENSE) 69 69 !!---------------------------------------------------------------------- 70 70 CONTAINS … … 147 147 CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) ! from V to UW 148 148 CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 149 150 ! We need to define e3[tuv]_a for AGRIF initialisation (should not be a problem for the restartability...) 151 e3t_a(:,:,:) = e3t_n(:,:,:) 152 e3u_a(:,:,:) = e3u_n(:,:,:) 153 e3v_a(:,:,:) = e3v_n(:,:,:) 149 154 ! 150 155 ! !== depth of t and w-point ==! (set the isf depth as it is in the initial timestep) … … 236 241 ENDIF 237 242 ENDIF 243 ENDIF 244 ! 245 IF(lwxios) THEN 246 ! define variables in restart file when writing with XIOS 247 CALL iom_set_rstw_var_active('e3t_b') 248 CALL iom_set_rstw_var_active('e3t_n') 249 ! ! ----------------------- ! 250 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases ! 251 ! ! ----------------------- ! 252 CALL iom_set_rstw_var_active('tilde_e3t_b') 253 CALL iom_set_rstw_var_active('tilde_e3t_n') 254 END IF 255 ! ! -------------! 256 IF( ln_vvl_ztilde ) THEN ! z_tilde case ! 257 ! ! ------------ ! 258 CALL iom_set_rstw_var_active('hdiv_lf') 259 ENDIF 260 ! 238 261 ENDIF 239 262 ! … … 781 804 IF( ln_rstart ) THEN !* Read the restart file 782 805 CALL rst_read_open ! open the restart file if necessary 783 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn )806 CALL iom_get( numror, jpdom_autoglo, 'sshn' , sshn, ldxios = lrxios ) 784 807 ! 785 808 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 792 815 ! ! --------- ! 793 816 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(:,:,:) )817 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 818 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 796 819 ! needed to restart if land processor not computed 797 820 IF(lwp) write(numout,*) 'dom_vvl_rst : e3t_b and e3t_n found in restart files' … … 807 830 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 808 831 IF(lwp) write(numout,*) 'neuler is forced to 0' 809 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:) )832 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t_b(:,:,:), ldxios = lrxios ) 810 833 e3t_n(:,:,:) = e3t_b(:,:,:) 811 834 neuler = 0 … … 814 837 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 815 838 IF(lwp) write(numout,*) 'neuler is forced to 0' 816 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:) )839 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t_n(:,:,:), ldxios = lrxios ) 817 840 e3t_b(:,:,:) = e3t_n(:,:,:) 818 841 neuler = 0 … … 839 862 ! ! ----------------------- ! 840 863 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(:,:,:) )864 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lrxios ) 865 CALL iom_get( numror, jpdom_autoglo, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lrxios ) 843 866 ELSE ! one at least array is missing 844 867 tilde_e3t_b(:,:,:) = 0.0_wp … … 849 872 ! ! ------------ ! 850 873 IF( id5 > 0 ) THEN ! required array exists 851 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:) )874 CALL iom_get( numror, jpdom_autoglo, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lrxios ) 852 875 ELSE ! array is missing 853 876 hdiv_lf(:,:,:) = 0.0_wp … … 929 952 ! ! =================== 930 953 IF(lwp) WRITE(numout,*) '---- dom_vvl_rst ----' 954 IF( lwxios ) CALL iom_swap( cwxios_context ) 931 955 ! ! --------- ! 932 956 ! ! all cases ! 933 957 ! ! --------- ! 934 CALL iom_rstput( kt, nitrst, numrow, 'e3t_b', e3t_b(:,:,:) )935 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:) )958 CALL iom_rstput( kt, nitrst, numrow, 'e3t_b', e3t_b(:,:,:), ldxios = lwxios ) 959 CALL iom_rstput( kt, nitrst, numrow, 'e3t_n', e3t_n(:,:,:), ldxios = lwxios ) 936 960 ! ! ----------------------- ! 937 961 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases ! 938 962 ! ! ----------------------- ! 939 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_b', tilde_e3t_b(:,:,:) 940 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:) 963 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_b', tilde_e3t_b(:,:,:), ldxios = lwxios) 964 CALL iom_rstput( kt, nitrst, numrow, 'tilde_e3t_n', tilde_e3t_n(:,:,:), ldxios = lwxios) 941 965 END IF 942 966 ! ! -------------! 943 967 IF( ln_vvl_ztilde ) THEN ! z_tilde case ! 944 968 ! ! ------------ ! 945 CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:) ) 946 ENDIF 947 ! 969 CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:), ldxios = lwxios) 970 ENDIF 971 ! 972 IF( lwxios ) CALL iom_swap( cxios_context ) 948 973 ENDIF 949 974 !
Note: See TracChangeset
for help on using the changeset viewer.