- Timestamp:
- 2011-11-18T10:19:26+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r3116 r3152 20 20 USE geo2ocean ! for vector rotation on to model grid 21 21 USE lib_mpp ! MPP library 22 USE wrk_nemo_2 ! work arrays 22 23 USE ioipsl, ONLY : ymds2ju, ju2ymds ! for calendar 23 24 … … 704 705 !! ** Purpose : Vector fields may need to be rotated onto the local grid direction 705 706 !!---------------------------------------------------------------------- 706 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released707 USE wrk_nemo, ONLY: utmp => wrk_2d_24, vtmp => wrk_2d_25 ! 2D workspace708 !!709 707 INTEGER , INTENT(in ) :: kt ! ocean time step 710 708 TYPE(FLD), INTENT(inout), DIMENSION(:) :: sd ! input field related variables 711 709 !! 712 INTEGER :: ju, jv, jk ! loop indices 713 INTEGER :: imf ! size of the structure sd 714 INTEGER :: ill ! character length 715 INTEGER :: iv ! indice of V component 716 CHARACTER (LEN=100) :: clcomp ! dummy weight name 717 !!--------------------------------------------------------------------- 718 719 IF(wrk_in_use(2, 24,25) ) THEN 720 CALL ctl_stop('fld_rot: ERROR: requested workspace arrays are unavailable.') ; RETURN 721 END IF 710 INTEGER :: ju, jv, jk ! loop indices 711 INTEGER :: imf ! size of the structure sd 712 INTEGER :: ill ! character length 713 INTEGER :: iv ! indice of V component 714 REAL(wp), POINTER, DIMENSION(:,:) :: utmp, vtmp ! temporary arrays for vector rotation 715 CHARACTER (LEN=100) :: clcomp ! dummy weight name 716 !!--------------------------------------------------------------------- 717 718 CALL wrk_alloc( jpi,jpj, utmp, vtmp ) 722 719 723 720 !! (sga: following code should be modified so that pairs arent searched for each time … … 754 751 END DO 755 752 ! 756 IF(wrk_not_released(2, 24,25) ) CALL ctl_stop('fld_rot: ERROR: failed to release workspace arrays.')753 CALL wrk_dealloc( jpi,jpj, utmp, vtmp ) 757 754 ! 758 755 END SUBROUTINE fld_rot … … 921 918 !! file, restructuring as required 922 919 !!---------------------------------------------------------------------- 923 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released, iwrk_in_use, iwrk_not_released924 USE wrk_nemo, ONLY: data_tmp => wrk_2d_1 ! 2D real workspace925 USE wrk_nemo, ONLY: data_src => iwrk_2d_1 ! 2D integer workspace926 !!927 920 TYPE( FLD ), INTENT(in) :: sd ! field with name of weights file 928 921 !! 929 INTEGER :: jn ! dummy loop indices 930 INTEGER :: inum ! temporary logical unit 931 INTEGER :: id ! temporary variable id 932 INTEGER :: ipk ! temporary vertical dimension 933 CHARACTER (len=5) :: aname 934 INTEGER , DIMENSION(3) :: ddims 935 LOGICAL :: cyclical 936 INTEGER :: zwrap ! local integer 937 !!---------------------------------------------------------------------- 938 ! 939 IF( wrk_in_use(2, 1) .OR. iwrk_in_use(2,1) ) THEN 940 CALL ctl_stop('fld_weight: requested workspace arrays are unavailable') ; RETURN 941 ENDIF 922 INTEGER :: jn ! dummy loop indices 923 INTEGER :: inum ! temporary logical unit 924 INTEGER :: id ! temporary variable id 925 INTEGER :: ipk ! temporary vertical dimension 926 CHARACTER (len=5) :: aname 927 INTEGER , DIMENSION(3) :: ddims 928 INTEGER , POINTER, DIMENSION(:,:) :: data_src 929 REAL(wp), POINTER, DIMENSION(:,:) :: data_tmp 930 LOGICAL :: cyclical 931 INTEGER :: zwrap ! local integer 932 !!---------------------------------------------------------------------- 933 ! 934 CALL wrk_alloc( jpi,jpj, data_src ) ! integer 935 CALL wrk_alloc( jpi,jpj, data_tmp ) 942 936 ! 943 937 IF( nxt_wgt > tot_wgts ) THEN … … 1051 1045 ENDIF 1052 1046 1053 IF( wrk_not_released(2, 1) .OR. &1054 iwrk_not_released(2, 1) ) CALL ctl_stop('fld_weight: failed to release workspace arrays')1047 CALL wrk_dealloc( jpi,jpj, data_src ) ! integer 1048 CALL wrk_dealloc( jpi,jpj, data_tmp ) 1055 1049 ! 1056 1050 END SUBROUTINE fld_weight
Note: See TracChangeset
for help on using the changeset viewer.