Changeset 7571 for branches/UKMO/dev_r5518_MEDUSA_optim_MG_MS_RH/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
- Timestamp:
- 2017-01-17T11:33:49+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_MEDUSA_optim_MG_MS_RH/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r7570 r7571 93 93 ! ! =-1 not cyclic 94 94 LOGICAL :: cyclic ! east-west cyclic or not 95 INTEGER, DIMENSION(:,:,:), POINTER:: data_jpi ! array of source integers96 INTEGER, DIMENSION(:,:,:), POINTER:: data_jpj ! array of source integers97 REAL(wp), DIMENSION(:,:,:), POINTER:: data_wgt ! array of weights on model grid98 REAL(wp), DIMENSION(:,:,:), POINTER:: fly_dta ! array of values on input grid99 REAL(wp), DIMENSION(:,:,:), POINTER:: col ! temporary array for reading in columns95 INTEGER, DIMENSION(:,:,:), ALLOCATABLE :: data_jpi ! array of source integers 96 INTEGER, DIMENSION(:,:,:), ALLOCATABLE :: data_jpj ! array of source integers 97 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: data_wgt ! array of weights on model grid 98 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: fly_dta ! array of values on input grid 99 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: col ! temporary array for reading in columns 100 100 END TYPE WGT 101 101 … … 688 688 REAL(wp), POINTER, DIMENSION(:,:,:) :: dta_read ! work space for global data 689 689 !!--------------------------------------------------------------------- 690 690 691 691 ipi = SIZE( dta, 1 ) 692 692 ipj = 1 … … 745 745 INTEGER :: ill ! character length 746 746 INTEGER :: iv ! indice of V component 747 REAL(wp), POINTER, DIMENSION(:,:) :: utmp, vtmp ! temporary arrays for vector rotation747 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: utmp, vtmp ! temporary arrays for vector rotation 748 748 CHARACTER (LEN=100) :: clcomp ! dummy weight name 749 749 !!--------------------------------------------------------------------- 750 750 751 CALL wrk_alloc( jpi,jpj, utmp, vtmp ) 751 ALLOCATE( utmp (1:jpi, 1:jpj) ) 752 ALLOCATE( vtmp (1:jpi, 1:jpj) ) 752 753 753 754 !! (sga: following code should be modified so that pairs arent searched for each time … … 786 787 END DO 787 788 ! 788 CALL wrk_dealloc( jpi,jpj, utmp, vtmp)789 DEALLOCATE (utmp, vtmp) 789 790 ! 790 791 END SUBROUTINE fld_rot … … 935 936 END DO 936 937 ENDIF 937 938 938 939 END SUBROUTINE fld_fill 939 940 … … 1005 1006 WRITE(numout,*) ' not cyclical' 1006 1007 ENDIF 1007 IF( A SSOCIATED(ref_wgts(kw)%data_wgt) ) WRITE(numout,*) ' allocated'1008 IF( ALLOCATED(ref_wgts(kw)%data_wgt) ) WRITE(numout,*) ' allocated' 1008 1009 END DO 1009 1010 ! … … 1026 1027 CHARACTER (len=5) :: aname 1027 1028 INTEGER , DIMENSION(:), ALLOCATABLE :: ddims 1028 INTEGER , POINTER, DIMENSION(:,:) :: data_src1029 REAL(wp), POINTER, DIMENSION(:,:) :: data_tmp1029 INTEGER , ALLOCATABLE, DIMENSION(:,:) :: data_src 1030 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: data_tmp 1030 1031 LOGICAL :: cyclical 1031 1032 INTEGER :: zwrap ! local integer 1032 1033 !!---------------------------------------------------------------------- 1033 1034 ! 1034 CALL wrk_alloc( jpi,jpj, data_src ) ! integer 1035 CALL wrk_alloc( jpi,jpj, data_tmp ) 1035 ALLOCATE(data_src(1:jpi, 1:jpj)) 1036 ALLOCATE(data_tmp(1:jpi, 1:jpj)) 1037 1036 1038 ! 1037 1039 IF( nxt_wgt > tot_wgts ) THEN … … 1152 1154 DEALLOCATE (ddims ) 1153 1155 1154 CALL wrk_dealloc( jpi,jpj,data_src ) ! integer1155 CALL wrk_dealloc( jpi,jpj,data_tmp )1156 DEALLOCATE( data_src ) ! integer 1157 DEALLOCATE( data_tmp ) 1156 1158 ! 1157 1159 END SUBROUTINE fld_weight … … 1294 1296 INTEGER :: jpi1_lsm,jpi2_lsm,jpj1_lsm,jpj2_lsm ! temporary indices 1295 1297 INTEGER :: itmpi,itmpj,itmpz ! lengths 1296 1298 1297 1299 !!---------------------------------------------------------------------- 1298 1300 !
Note: See TracChangeset
for help on using the changeset viewer.