Changeset 2593 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC
- Timestamp:
- 2011-02-18T18:31:11+01:00 (13 years ago)
- Location:
- branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/prtctl_trc.F90
r2528 r2593 62 62 !! it must looks like: CALL prt_ctl( mask=tmask ). 63 63 !!---------------------------------------------------------------------- 64 USE wrk_nemo, ONLY: wrk_use, wrk_release 65 USE wrk_nemo, ONLY: zmask => wrk_3d_1, ztab3d => wrk_3d_2 66 !! 64 67 REAL(wp) , DIMENSION(:,:,:,:), INTENT(in), OPTIONAL :: tab4d ! 4D array 65 68 REAL(wp) , DIMENSION(:,:,:) , INTENT(in), OPTIONAL :: mask ! 3D mask to apply to the tab4d array … … 71 74 INTEGER :: overlap, jn, js, sind, eind, kdir, j_id 72 75 REAL(wp) :: zsum, zvctl 73 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmask, ztab3d74 76 CHARACTER (len=20), DIMENSION(jptra) :: cl 75 77 CHARACTER (len=10) :: cl2 76 78 !!---------------------------------------------------------------------- 79 80 IF(.NOT. wrk_use(3, 1,2))THEN 81 CALL ctl_stop('prt_ctl_trc : requested workspace arrays unavailable.') 82 RETURN 83 END IF 77 84 78 85 ! ! Arrays, scalars initialization … … 178 185 WRITE(j_id,*) clinfo 179 186 END DO 187 ! 188 IF(.NOT. wrk_release(3, 1,2))THEN 189 CALL ctl_stop('prt_ctl_trc : failed to release workspace arrays.') 190 END IF 180 191 ! 181 192 END SUBROUTINE prt_ctl_trc_info -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/trc.F90
r2568 r2593 18 18 IMPLICIT NONE 19 19 PUBLIC 20 21 PUBLIC trc_alloc ! called by nemogcm.F90 20 22 21 23 !! passive tracers names and units (read in namelist) … … 110 112 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 111 113 !!====================================================================== 114 #if defined key_top 115 CONTAINS 116 117 FUNCTION trc_alloc() 118 !!------------------------------------------------------------------- 119 !! *** ROUTINE trc_alloc *** 120 !!------------------------------------------------------------------- 121 INTEGER :: trc_alloc 122 !!------------------------------------------------------------------- 123 124 ALLOCATE(cvol(jpi,jpj,jpk), & 125 trn(jpi,jpj,jpk,jptra), & 126 tra(jpi,jpj,jpk,jptra), & 127 trb(jpi,jpj,jpk,jptra), & 128 gtru(jpi,jpj,jptra), gtrv(jpi,jpj,jptra), & 129 rdttrc(jpk), & 130 # if defined key_diatrc && ! defined key_iomput 131 trc2d(jpi,jpj,jpdia2d), trc3d(jpi,jpj,jpk,jpdia3d), & 132 #endif 133 # if defined key_diabio 134 trbio(jpi,jpj,jpk,jpdiabio), & 135 #endif 136 Stat=trc_alloc) 137 138 IF(trc_alloc /= 0)THEN 139 CALL ctl_warn('trc_alloc: failed to allocate arrays.') 140 END IF 141 142 END FUNCTION trc_alloc 143 #endif 144 112 145 END MODULE trc -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/trcdia.F90
r2567 r2593 32 32 PRIVATE 33 33 34 PUBLIC trc_dia ! called by XXX module 34 PUBLIC trc_dia ! called by XXX module 35 PUBLIC trc_dia_alloc ! called by nemogcm.F90 35 36 36 37 INTEGER :: nit5 !: id for tracer output file … … 40 41 INTEGER :: ndimt51 !: number of ocean points in index array 41 42 REAL(wp) :: zjulian !: ???? not DOCTOR ! 42 INTEGER , DIMENSION (jpij*jpk) :: ndext50 !: integer arrays for ocean 3D index43 INTEGER , DIMENSION (jpij):: ndext51 !: integer arrays for ocean surface index43 INTEGER , ALLOCATABLE, SAVE, DIMENSION (:) :: ndext50 !: integer arrays for ocean 3D index 44 INTEGER , ALLOCATABLE, SAVE, DIMENSION (:) :: ndext51 !: integer arrays for ocean surface index 44 45 # if defined key_diatrc 45 46 INTEGER :: nitd !: id for additional array output file … … 61 62 !!---------------------------------------------------------------------- 62 63 CONTAINS 64 65 FUNCTION trc_dia_alloc() 66 !!--------------------------------------------------------------------- 67 !! *** ROUTINE trc_dia_alloc *** 68 !!--------------------------------------------------------------------- 69 INTEGER :: trc_dia_alloc 70 !!--------------------------------------------------------------------- 71 72 ALLOCATE(ndext50(jpij*jpk), ndext51(jpij), Stat=trc_dia_alloc) 73 74 IF(trc_dia_alloc /= 0)THEN 75 CALL ctl_warn('trc_dia_alloc : failed to allocate arrays.') 76 END IF 77 78 END FUNCTION trc_dia_alloc 79 63 80 64 81 SUBROUTINE trc_dia( kt ) -
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r2528 r2593 23 23 PRIVATE 24 24 25 PUBLIC trc_dta ! called in trcini.F90 and trcdmp.F90 25 PUBLIC trc_dta ! called in trcini.F90 and trcdmp.F90 26 PUBLIC trc_dta_alloc ! called in nemogcm.F90 26 27 27 28 LOGICAL , PUBLIC, PARAMETER :: lk_dtatrc = .TRUE. !: temperature data flag 28 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk,jptra) :: trdta !: tracer data at given time-step29 30 REAL(wp), DIMENSION(jpi,jpj,jpk,jptra,2) :: tracdta! tracer data at two consecutive times31 INTEGER , DIMENSION(jptra) :: nlectr !: switch for reading once32 INTEGER , DIMENSION(jptra) :: ntrc1 !: number of first month when reading 12 monthly value33 INTEGER , DIMENSION(jptra) :: ntrc2 !: number of second month when reading 12 monthly value29 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) :: trdta !: tracer data at given time-step 30 31 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:,:,:) :: tracdta ! tracer data at two consecutive times 32 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:) :: nlectr !: switch for reading once 33 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:) :: ntrc1 !: number of first month when reading 12 monthly value 34 INTEGER , ALLOCATABLE, SAVE, DIMENSION(:) :: ntrc2 !: number of second month when reading 12 monthly value 34 35 35 36 !! * Substitutions … … 41 42 !!---------------------------------------------------------------------- 42 43 CONTAINS 44 45 FUNCTION trc_dta_alloc() 46 !!---------------------------------------------------------------------- 47 !! *** ROUTINE trc_dta_alloc *** 48 !!---------------------------------------------------------------------- 49 INTEGER :: trc_dta_alloc 50 !!---------------------------------------------------------------------- 51 52 ALLOCATE(trdta(jpi,jpj,jpk,jptra), & 53 tracdta(jpi,jpj,jpk,jptra,2), & 54 nlectr(jptra), ntrc1(jptra), ntrc2,(jptra), & 55 ! 56 Stat = trc_dta_alloc) 57 58 IF(trc_dta_alloc /= 0)THEN 59 CALL ctl_warn('trc_dta_alloc : failed to allocate arrays.') 60 END IF 61 62 END FUNCTION trc_dta_alloc 63 43 64 44 65 SUBROUTINE trc_dta( kt )
Note: See TracChangeset
for help on using the changeset viewer.