Changeset 2590 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DTA
- Timestamp:
- 2011-02-18T13:49:27+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DTA
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DTA/dtasal.F90
r2528 r2590 25 25 PRIVATE 26 26 27 PUBLIC dta_sal ! called by step.F90 and inidta.F90 28 29 LOGICAL , PUBLIC, PARAMETER :: lk_dtasal = .TRUE. !: salinity data flag 30 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: s_dta !: salinity data at given time-step 27 PUBLIC dta_sal ! called by step.F90 and inidta.F90 28 PUBLIC dta_sal_alloc ! Called by nemogcm.F90 29 30 LOGICAL , PUBLIC, PARAMETER :: lk_dtasal = .TRUE. !: salinity data flag 31 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: s_dta !: salinity data at given time-step 31 32 32 33 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_sal ! structure of input SST (file informations, fields read) … … 40 41 !!---------------------------------------------------------------------- 41 42 CONTAINS 43 44 FUNCTION dta_sal_alloc() 45 IMPLICIT none 46 INTEGER :: dta_sal_alloc 47 INTEGER :: ierr 48 49 ALLOCATE(s_dta(jpi,jpj,jpk), & 50 sf_sal(1), & 51 Stat=ierr) 52 IF(ierr <= 0)THEN 53 ALLOCATE( sf_sal(1)%fnow(jpi,jpj,jpk) ) 54 END IF 55 56 dta_sal_alloc = ierr 57 58 END FUNCTION dta_sal_alloc 42 59 43 60 SUBROUTINE dta_sal( kt ) … … 88 105 WRITE(numout,*) '~~~~~~~ ' 89 106 ENDIF 90 ALLOCATE( sf_sal(1), STAT=ierror ) 91 IF( ierror > 0 ) THEN 92 CALL ctl_stop( 'dta_sal: unable to allocate sf_sal structure' ) ; RETURN 93 ENDIF 94 ALLOCATE( sf_sal(1)%fnow(jpi,jpj,jpk) ) 107 ! ARPDBG moved first two allocate's into dta_sal_alloc() 108 !!$ ALLOCATE( sf_sal(1), STAT=ierror ) 109 !!$ IF( ierror > 0 ) THEN 110 !!$ CALL ctl_stop( 'dta_sal: unable to allocate sf_sal structure' ) ; RETURN 111 !!$ ENDIF 112 !!$ ALLOCATE( sf_sal(1)%fnow(jpi,jpj,jpk) ) 95 113 IF( sn_sal%ln_tint ) ALLOCATE( sf_sal(1)%fdta(jpi,jpj,jpk,2) ) 96 114 ! ! fill sf_sal with sn_sal and control print -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DTA/dtatem.F90
r2528 r2590 25 25 PRIVATE 26 26 27 PUBLIC dta_tem ! called by step.F90 and inidta.F90 27 PUBLIC dta_tem ! called by step.F90 and inidta.F90 28 PUBLIC dta_tem_alloc ! called by nemo_init in nemogcm.F90 28 29 29 30 LOGICAL , PUBLIC, PARAMETER :: lk_dtatem = .TRUE. !: temperature data flag 30 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: t_dta!: temperature data at given time-step31 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: t_dta !: temperature data at given time-step 31 32 32 33 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_tem ! structure of input SST (file informations, fields read) … … 40 41 !!---------------------------------------------------------------------- 41 42 CONTAINS 43 44 FUNCTION dta_tem_alloc() 45 IMPLICIT none 46 INTEGER :: dta_tem_alloc 47 INTEGER :: ierror 48 ALLOCATE(t_dta(jpi,jpj,jpk), & 49 sf_tem(1), & 50 STAT=ierror ) 51 IF( ierror <= 0 ) THEN 52 ALLOCATE( sf_tem(1)%fnow(jpi,jpj,jpk), STAT=ierror ) 53 END IF 54 55 dta_tem_alloc = ierror 56 57 END FUNCTION dta_tem_alloc 58 42 59 43 60 SUBROUTINE dta_tem( kt ) … … 95 112 WRITE(numout,*) '~~~~~~~ ' 96 113 ENDIF 97 ALLOCATE( sf_tem(1), STAT=ierror ) 98 IF( ierror > 0 ) THEN 99 CALL ctl_stop( 'dta_tem: unable to allocate sf_tem structure' ) ; RETURN 100 ENDIF 101 ALLOCATE( sf_tem(1)%fnow(jpi,jpj,jpk) ) 114 ! ARPDBG - moved into dta_tem_alloc() 115 !!$ ALLOCATE( sf_tem(1), STAT=ierror ) 116 !!$ IF( ierror > 0 ) THEN 117 !!$ CALL ctl_stop( 'dta_tem: unable to allocate sf_tem structure' ) ; RETURN 118 !!$ ENDIF 119 !!$ ALLOCATE( sf_tem(1)%fnow(jpi,jpj,jpk) ) 102 120 IF( sn_tem%ln_tint ) ALLOCATE( sf_tem(1)%fdta(jpi,jpj,jpk,2) ) 103 121 ! ! fill sf_tem with sn_tem and control print
Note: See TracChangeset
for help on using the changeset viewer.